自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

所学、所思、所悟——coderling

不曾经历过真正沧桑,却还失去了那一点少年意气

  • 博客(40)
  • 资源 (2)
  • 收藏
  • 关注

原创 【Reading Notes】cp8-Screeen Effects with Unity Render Textures

写在前面在本章节,将学习一下内容: + 建立简单的screen effects 脚本系统 + 使在screen effects中用亮度,饱和度,对比度 + 实现照片风格的screen effects + 在screen effect中使用Overlay Blend介绍要想更深刻地理解着色器的过程,是去创建我们自己的着色器,同样对于screen effects。通过编写screen effec

2017-08-28 01:06:16 549

原创 【Reading Notes】cp7-Mobile Shader Adjustment(移动平台下的shader)

写在前面在接下来两个章节,将要学习怎样使Shader在不同平台下都有良好的表现。我们不去讨论任何一个特定的平台,而是去分解Shader中我们可以进行调整的各个部分,讨论一般情况下的移动平台优化。这其中包括了,Unity内置变量的介绍,如何减少Shader内存等等。 + 什么是Cheap shader + 分析你的shader + 为移动平台修改shaderIntrodudctionshader

2017-08-20 02:31:40 395

原创 【python challenge】Level2

分析题目说的是识别字符,字符可能在图片的书上,可能在页面的源码里面。机智的我马上按了个F12,发现一大堆混乱的字符,要求就是从中找出稀有的字符,智商感人的我还对所有出现字符的次数排了个序~~~,其实只要判断是a-z的字符把他拼起来就是了。领略下我的智商吧~dict_count = {}for ind, ch in enumerate(mess_str): if dict_count.get

2017-08-07 02:47:20 930

原创 【Reading Notes】cp6-Fragment Shaders and Grab Pass

写在前面到目前为止,我们都是基于Surface Shaders来实现功能。Surface Shader的设计提供了一种简单的shader编码实现方法,给艺术家提供了十分有意义的工具。如果我们想要更进一步的了解Shader,是时候踏进Vertex(顶点)和Fragment(片元)着色器的领域了。本章内容: + 明白顶点着色和片元着色的基本 + 使用Grab pass + 实现Grab 着色 +

2017-08-07 01:00:14 430

原创 【python challenge】Level1

写在前面发现一个很有意思的python学习网站:http://www.pythonchallenge.com 解决现在的问题然后才能看到后面的问题,前提是你别去看剧透,有点OJ的感觉,但比OJ要有意思一点,通过自己的思考进阶到下一个Level获得成就感满满+1。然后可以在wiki查看solution,wiki中有各种花式的solution观摩.很有意思的是,都知道在python中输入this.py

2017-08-06 06:53:47 704

原创 【Reading Notes】CP5-Vertex Functions (着色器顶点处理)

写在前面Shader主要是用来模拟3D对象光照的真实情况,但不仅仅如此,他不仅仅定义了Objects看起来怎么样,还可以完全的重定义Objects的形状。在这一章节,将学到: + 在Surface Shader访问顶点颜色 + 在Surface Shader实现顶点动画 + 挤压使模型变形 + 实现雪 + 实现体积爆炸效果简介在第一章节,创建了第一个shader,解释了3D模型不仅仅是三角

2017-08-05 16:25:29 1060

原创 【Reading Notes】CP4-Physically Based Rendering in Unity5 (基于物理的渲染)

写在前面相对于unity4,unity5其中一个最大的改变是基于物理的渲染,简写PBR。前面的章节多次提到PBR但是从来没有深入去探讨,如果想要了解PBR是如何工作并且灵活运用PBR那么你应该阅读这一章节。在这一章节,你讲了解一下几点:懂得Metallic(金属材质)的设置为PBR添加透明创建一个镜子一般的反射表面为你的场景烘焙光照(Bake lights)Introduction 简介理

2017-07-04 08:22:16 437

原创 【Reading Notes】CP3-Understanding Lighting Models

了解光照模型在前一章节我们学习了Surface Shader,知道怎么样去改变物理材质计算不同的纹理,那么他们到底是怎么工作的呢,这个核心的部分就是光照模型。光照模型是一个计算每一个像素最终的颜色的函数。Unity总是去隐藏了光照函数的实现,因为去编写一个光照模型函数你需要了解光是怎么样从物体表面反射。这一章节将介绍光照模型是如何工作的

2017-06-24 10:03:24 543

原创 【Reading Notes】CP2-Surface Shaders and Texture Mapping

Introduce在这一章节,我们将探索Surface Sshader.将会从非常简单的材质开始,最后完成一个全息投影?和地形纹理融合(Blending)。还可以使用纹理动画,混合,以及其他任何我们想要的属性。本章知识点: + Diffuse shading 漫反射 + Using packed arrays 使用数组 + Adding texture to a shader 为shader添

2017-05-07 19:56:49 790

原创 【Reading Notes】CP1-Create a basic Standard Shader

开篇每一个使用Unity的开发人员都应该熟悉components(组件)这个概念。在Unity游戏中所有的Object(对象)都包含的一定数量的的components,这些components实际影响了Oject的显示和行为。Scripts(脚本)决定了Object的行为,renderers(渲染器)决定了它们如何显示在屏幕上。Unity当中有几种渲染器,使用那种这取决于我们想要显示对象的类型。每一

2017-04-27 01:00:59 404

原创 【CSS学习小抄】简要入门

选择器标签选择器选择Html标签,设置样式类选择器(Class selectors)通过设置元素的class属性,可以为元素指定雷鸣。类名又开发这自己指定。文档中多个元素可以拥有同一个类名。在写css的时候,类选择器以英文句号(.)开头ID选择器(ID selectors)通过设置元素的ID属性来制定ID.ID名由开发者指定,但每个文档必须是唯一的。在css的时候,ID选择器以#号开头。PS

2017-02-26 01:33:29 496

原创 设计模式之——单例

单例模式是最常用的模式,在做项目的时候每个系统基本都是单例。保证在整个生命周期,只存在一个该实例的对象。 应有场景:在逻辑上在系统中该类只存在一个实例。比如:一个系统中可以存在有多个打印任务,但是正在运行的任务只有一个。游戏的场景管理类,时间管理类等等。 代码示例:code example here: class Singleton { p

2016-10-27 00:01:46 368

原创 OpenGL 学习笔记-2015.4.18——立方体纹理映射-天空盒子-环境映射

立方体映射(cube-map)纹理是一种特殊类型的纹理,用于环境映射,使用一组图像并把他们作为立方体的面。立方体映射的6个面用正方形并且大小相同的6个子纹理表示。要从立方体纹理中采样的时候,使用的纹理坐标是3维,并且被看做来自原点的方向!方向指向用来读取纹理的立方体映射表面的位置。在这里例子中,有关于环境映射的代码,主要思想是通过观察向量和表面的法向量反射来确定采样的纹理坐标。    通过将一

2015-04-24 01:48:52 6586

原创 OpenGL学习笔记-2015.4.1——纹理加载与控制

在纹理贴图技术问世之前,虚拟3维世界只能通过几何模型去模拟现实,可想而知,现实世界的错综复杂,计算量之大并不能满足实时显示的需求。纹理映射带来了革命性的变换,简单的使得虚拟的3维世界得以无限接近于现实。纹理映射技术最早是由Catmull 在1947年率先提出的,Catmull首先找到了以(u,v)表示的双变量实数空间(纹理空间)和以参数(s,t)表示的三维曲面之间的对应关系(映射关系)。

2015-04-05 18:18:37 6204

原创 OpenGL学习笔记-2015.3.24——transform feedback缓存&粒子系统示例分析

transform feedback是OpenGL中比较酷炫的特性之一,他让客户端应用程序可以获取到渲染流水线上的顶点数据。基于这一特性实现了基于z-pass场景决策渲染技术,当然在此并没有去了解何为z-pass场景决策渲染技术,总之是一个可以有效减少渲染数据的输送。这里只是通过一个简单的例子系统,去了解transform feedback对象的使用方法。

2015-03-30 03:03:15 8128 1

原创 OpenGL学习日记-2015.3.13——多实例渲染

实例化(instancing)或者多实例渲染(instancd rendering)是一种连续执行多条相同渲染命令的方法。并且每个命令的所产生的渲染结果都会有轻微的差异。是一种非常有效的,实用少量api调用来渲染大量几何体的方法。OpenGL提供多种机制,允许着色器对不同渲染实例赋予不同的顶点属性。

2015-03-14 04:22:15 4006

原创 OpenGL学习日记-2015.3.5——Hello glsl(着色器)

过年前忍不住买了本新版的OpenGL编程指南,主要的目的还是为了系统的学习着色器编程,另外就是接触新版的OpenGL技术和思想。看了几页,就过年了QAQ.回来后也是各种不在状态,不想上班,不想工作,不想写代码。。。昨天终于强迫自己继续看书,也找回了些状态。    书本基础知识的全面性和权威性就不用说了,不过这个源代码就。。。。这第一个例子照着代码来抄结果。。。我想应该是原来的代码一个参

2015-03-08 04:44:50 3622 2

原创 OpenGL学习日记-2014.1.21--混合

混合可以实现很多效果,笔记单纯的记录混合的原理,和混合公式,混合函数的使用。最后分析书中的两个混合代码例子,两个例子结合起来说明了绘图顺序对混合最终效果的影响,及如何去规避这样的问题。在颜色中之前一直忽略的第四个分量alpha终于派上用场。在启用混合情况下,alpha常常用于把被处理片断的颜色值与已经存在帧缓冲区的像素颜色值进行组合。混合操作是在场景进行了光栅化并转换为像素之后,但是在最终的像素绘

2015-02-13 02:39:11 1202 3

原创 OpenGL学习日记-2014.12.21--光照

一、光照和颜色密切相关,光照也是由不同颜色的光去描述,所以由于颜色的表示有两种模式:rgba模式和颜色索引模式,所以光照也分为rgba下的光照,和颜色索引模式下的光照。不过同样的是rgba模式下的光照灵活方便,主要还是使用rgba下的光照模式。二、隐藏表面消除工具。三、现实世界和OpenGL关照四、材料和颜色 五、创建光源六、选择光照模型七、定义材料属性

2015-01-21 21:46:56 2298

转载 透视投影(Perspective_Projection)变换推导

原文作者我也不知道是谁。。偶尔在论坛上看到,然后搜了一下,在百度文库下了个文档。不管怎样,感谢原作者的辛勤劳动。透视投影是3D固定流水线的重要组成部分,是将相机空间中的点从视锥体(frustum)变换到规则观察体(Canonical View Volume)中,待裁剪完毕后进行透视除法的行为。在算法中它是通过透视矩阵乘法和透视除法两步完成的。     

2015-01-21 19:25:35 2468

原创 OpenGL学习日记-2014.12.2--颜色

颜色这章还挺有意思的,感觉上了节物理和生物课样。从光子理论,光谱,到光子作用视网膜上的锥细胞,而人终于感知了色彩。计算机表示颜色有两种模式:RGBA模式和颜色索引模式。无论是那种模式,每个像素都存储雷丁的颜色数据。这个数量由缓冲区的位平面决定。在每个像素中,1个位平面表示1位数据。如果每个像素用8位表示则他可以最多表示2的8次方颜色。一、RGBA模式:    硬件为R,G,B,A成分保

2014-12-02 02:34:46 717

原创 OpenGL学习日记-2014.11.26--简单裁剪

Opengl中,除了视景体的立方体裁剪平面之外,另外还可以额外指定多达6个裁剪平面,对视景体做进一步限制。每一个平面都由平面公式定义:Ax+By+Cz+D = 0.裁剪平面的指定通过函数:glClipPlane(GLenum plane,const GLdouble* equation)确定。plane可能值为:GL_CLIP_PLANE0--GL_CLIP_PLANE6。。。equation为大

2014-11-27 01:24:37 868

原创 OpenGL学习日记-2014.11.23--OpenGL变换

由于是重温系列,只是简单记录下迷惑的地方和,以前不知道的地方。1,观察坐标系的确定,以前一直迷惑摄像机的up向量的确定,由于定位三个向量互相垂直是必须的,而我们在调用gluLookAt()指定的向量都是比较随意,对于摄像机变换并没有很好的理解。终究是由于远离没懂,所以前天特意研究了下,摄像机坐标系的确定:1.首先确定摄像机的位置。2.确定视线方向view。2.接下来只需要在确定其他两个

2014-11-26 01:47:58 719

原创 OpenGL学习日记-2014.11.6--OpenGL缓冲区对象

1.何为OpenGL缓冲区对象,他有什么作用    其实在字面意义上来看,就应该知道缓冲区对象的大体做那个,多半是用来解决数据传输问题。在OpenGL,由于OpenGL是按照客户机-服务器模式设计的,在OpenGL中任何时候需要数据,都必须从客户机内存存到服务器,如果数据并没有修改,或者客户机和服务器位于不同的计算机(分布式渲染--不懂。。),就会产生不必要的传输,或者传输比较缓慢。缓冲区对象

2014-11-26 01:45:58 720

原创 基于事件驱动的lua--c/c++交互

PS:参考自《lua游戏开发指南》       事件驱动的程序可以增强系统的可扩展性——lua游戏开发指南原话       书中的事件驱动程序主要分为几个重要的部分,是lua与c/++的双向交互。               1、提供一个luaGlue函数在lua中注册事件处理函数。                2、c/c++代码获取事件处理函数名称,在c/c++中调用lua编写

2014-01-27 21:24:32 3501

原创 luaGlue函数——lua中调用c/c++函数

所有能在lua中调用的c/c++函数都必须是遵循lua定义的函数原型:typedef int (*lua_CFunction) (lua_State *L),其中返回值整型int表示,函数返回值个数。lua调用c/c++函数,他们之间的交互依然通过lua栈,而且需要认识到的是,无论是lua调用c函数,还是c/c++调用lua函数,他们之间的交互用的栈并不是全局栈,每个函数都维护着一个自己的私有栈,

2014-01-25 15:01:12 2993

原创 c/c++调用lua函数

lua环境由所有可操作的数据构成,编译好的函数,变量以及其他运行时内存。而所有的这些数据都将保存一个叫做lua_State的结构中。一个lua程序至少有个个lua_State,被称作lua环境,是用来发送和接收数据的地方,支撑着与其他语言的交互,具体来说就是利用lua栈(lua_Stack)来实现。在c/c++中调用函数,具体过程可以分为几步:               

2014-01-24 23:21:41 1470

原创 Item 7 (多态中基类的虚析构函数)Declare destructors virtual in polymorphic base classes

看评注版的书的确有点吃力,作为一个英语渣,很多单词都要请教谷歌娘。但是细细的看下去,虽然看上去是个简单的问题,但作者想到的东西却如此之多,还是收获良多的。    先把书上最后的总结心得Mark下,再做虚析构函数进行讨论分析:        Polymorphic base classes should declare virtual destructors. If a class ha

2013-10-28 23:02:31 969

转载 Linux makefile 教程 非常详细,且易懂

关于GNU Makefile 的详细教程,真的很详细,而且讲解也很到位,这是别人的转载,然后我再转载 ,顺便搜了一下原作者的csdn blog 传送门            最近在学习Linux下的C编程,买了一本叫《Linux环境下的C编程指南》读到makefile就越看越迷糊,可能是我的理解能不行。            于是google到了以下这篇文章。通

2013-08-24 22:13:22 1231

原创 【Direct3D游戏开发】——蒙皮骨骼动画学习笔记

蒙皮骨骼动画        一、蒙皮骨骼动画原理:蒙皮骨骼动画的思想来源于自然界,大多数动物都拥有一套骨骼,骨骼是身体的框架,身体的皮毛血肉都是依附于骨骼。当骨骼开始运动的时候,依附于对应骨骼的皮毛血肉都会随骨骼一起运动。而Mesh模型是由大量的三角形组成,三角形由定点组成。当我们运动时,有必要知道那些定点依附于那块骨骼,根据骨骼的移动来移动对应的顶点。

2013-08-22 05:49:05 4273 3

原创 【Direct3D游戏开发】——DirectInput 让世界动起来

其实我们是可以通过Windows消息和API取得键盘或者鼠标或者其他设备的输入信息,但这有个等待windows消息传送的延时,笔者试过直接在消息回调函数中相应键盘的上下左右消息去使场景中的模型进行旋转,感觉有明显的延时。这对于游戏玩家来说简直是噩梦,就好像我在玩lol,舍友都在用迅雷下AV一样的信息。而DirectX是直接与硬件进行交流,不需要去等待windows传送消息。DirectInput可

2013-04-19 16:47:28 1179

原创 【Directx3D游戏开发】——网格模型(mesh .x)

这次的笔记包含两个内容:1:简单介绍网格模型 和 .x文件;2、优化Mesh模型已取得更高的渲染效率,用Direct3D去加载一个.X文件。游戏中的场景和角色都非常复杂,想要手工去填充这些模型的每一个顶点几乎是个不可能的事情。一般是用建模工具去完成,然后导出一个程序可以识别的网格模型。最常用的是3DMax,和Maya。1:.X模型X格式是微软提供的一种开放的数据存储格式。.X支

2013-04-16 10:48:58 2171

原创 【算法导论笔记】模糊排序7-6

为什么要单独拿出来记录呢,前面不是已经更新了一篇关于排序的文章了么。其实是因为在这里我浪费了很多很多时间,最近智商有点拙计,把这个独成文以引起自己现在状态的正视。7-6、考虑这样的一种排序问题,即无法准确地知道待排序的各个数字到底是多少。对于其中的每个数字,我们只知道它落在实轴上的某个区间内。亦即,给定的是n个形如[a(i), b(i)]的闭区间(这里小括后起下标的作用,后同),其中a

2013-04-09 19:08:05 1263

原创 【算法导论笔记】排序

关于算法导论中讲到的一些排序算法,还有一些没讲到的,以后会添加,如,希尔排序,选择排序。插入排序[Inserttion Sort]: 对于输入数组A[n],n代表数组大小。算法总保持A[1···j-1] 区间内的元素已排好序,把a[j]插入到这个数组中使得a[1····j]是有序的,当j==n-1时,整个数组有序,排序完成,当已排好序数组元素只有一个,显然是有序的。就好像我们打牌时

2013-04-09 18:36:32 927

原创 【Directx3D游戏开发】——简单渲染

这是个令人十分激动的时刻,用Directx3D去渲染出一些形状,还有会动的形状。感觉就跟中了彩票一样的心情。           好了,以上都是废话。在上一次的文章中学会了如何初始化Directx3D环境,now!开始真正的干事情了,首先要渲染一个三维三角形。在前面的代码的基础上其实添加小量代码就可以实现渲染了,不过还是要了解几个东西。           1.可变定点格式FVF(Flex

2013-04-06 13:44:12 1170 1

原创 【Directx3D游戏开发】——Directx3D初始化

在了解如何初始化Directx3D之前应该首先懂得如何编写一个windows程序,创建一个windwos程序分为4步:1.设计一个窗口类;2.注册一个窗口类;3.创建窗口;4.显示及更新窗口。            以下是创建一个最简单的windows窗口的示例,参考自孙鑫的VC++深入详解.//-----------------------------------------------

2013-03-30 11:00:33 1001

原创 div+css布局之定位

参考资料:http://www.w3school.com.cn/css/css_positioning.asp            div/css中的定位——position 分为三种:相对定位,绝对定位,浮动。            1、相对定位:设置了相对定位的元素,它依然在文档流中占有它本来的位置。             2、绝对定位:设置了绝对定位的元素会从文档流中脱离出来

2013-03-12 17:54:15 743

原创 CSS伪元素

CSS伪元素是CSS选择器的一种,在div+css布局中用来设置一些特殊效果。:first-letter向文本的第一个字母添加特殊样式,如果是中文就是第一个字:first-line 向文本的首行添加样式:before在指定元素之前添加内容:after在指定元素之后添加内容       我不知道为什么要分

2013-03-12 17:16:23 698

原创 【Direct3D游戏开发】——重温Direct3D游戏开发详解 1、2、4章

由于此前已经看过一下,但没坚持看下去,这次重新浏览了下。        第一章:认识Directx与Directx SDK            Directx SDK包含:                        a.Direct3D:3D图形包  b.DirectDraw:2D图形包   c.DirectInput:为游戏输入提供各方面的支持

2013-03-06 16:10:23 767

原创 vc++深入详解第六章

没有做详细的总结,因为我觉得很多时候只要跟着敲代码就可以了,并没有太多需要注意的地方,只列出几个点。  1.菜单命令消息路由:框架类(不响应)--视类(根据消息映射机制判断是否相应,否交给文档类)--文档类(根据消息映射机制判断是否相应,否交给文档类)--视类(直接交还框架类)--框架类(根据消息映射机制判断是否相应,否交给应用程序类)--应用程序类  2.再动态添加菜单是,需要创建一

2013-03-06 10:16:12 892

Direct3D字体入门,DirectInput入门Demo

自己封装的一个DirectInput类,支持鼠标和键盘的响应。关于Direct3d中的一些字体应用

2013-04-19

Direct3D网格模型加载与优化

这是本人在学习Direct3D过程中的源代码,代码注释还算详细吧,免积分的哦 小广告:http://blog.csdn.net/coderling

2013-04-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除