原文:HLSL效果框架 HLSL效果框架能简化许多操作.这里先不写具体的效果框架的程序,在处理多光源光照的时候再整理. 下一章:效果框架-多种光源的多光源叠加效果 这儿先列出效果框架的一个注意点: 在begin和end中间不建议设置着色器变量,虽然用CommitChan... ...
分类:
其他好文 时间:
2019-05-04 09:54:25
阅读次数:
133
完成章节后练习。 练习 1. Adjust the vertex shader so that the triangle is upside down. 2. Specify a horizontal offset via a uniform and move the triangle to the ...
分类:
其他好文 时间:
2019-05-02 09:48:57
阅读次数:
125
二维几何变换相比三维略简单一点但原理基本一致,下列代码实现了平移、缩放、旋转变换,并有一个复合变换矩阵保存所有变换计算后的结果,方便用其结果在OpenGL进行渲染 ...
分类:
其他好文 时间:
2019-05-01 22:28:38
阅读次数:
209
实际效果请看demo: "纹理贴图" 为了增加额外细节,提升真实感,我们使用了漫反射贴图和高光贴图,它们都是向三角形进行附加纹理。但是从光的视角来看是表面法线向量使表面被视为平坦光滑的表面。以光照算法的视角考虑的话,只有一件事决定物体的形状,那就是垂直于它的法线向量。砖块表面只有一个法向量,表面完全 ...
分类:
Web程序 时间:
2019-05-01 13:28:07
阅读次数:
359
升级到Unity 5.3 全球照明 光照贴图快照已重命名为照明数据资产。在升级到Enlighten 3后,照明数据的内部格式已更改。来自以前版本的Unity的快照不再受支持,应重新进行重新编译。 这也影响具有实时GI的流化场景AssetBundles。将不会加载光照贴图数据,因此也应重建此类绑定。 ... ...
分类:
编程语言 时间:
2019-05-01 01:23:16
阅读次数:
218
1、 2、 In Tutorial 15 we learnt how to create lightmaps, which encompasses static lighting. While it produces very nice shadows, it doesn’t deal with a ...
分类:
移动开发 时间:
2019-04-29 22:39:21
阅读次数:
180
数字微分分析仪(digital differential analyzer)方法是一种线段扫描转换算法。 DDA算法比直接使用直线方程计算的速度更快,它利用光栅特性消除了直线方程种的乘法。 本代码参考自《计算机图形学》第四版,该函数将在verts末尾按次序添加需要的点坐标 ...
分类:
编程语言 时间:
2019-04-28 12:36:20
阅读次数:
197
之前已经接触过Vertex Shader和Fragment Shader,这次学习如何编写Shader并封装成类。 Shader源码主要有四部分: 1. 版本声明 ; 2. 使用in和out关键字定义输入输出变量,上一个Shader的输出变量必须和下一个Shader的输入变量保持一致; 3. 有时使 ...
分类:
其他好文 时间:
2019-04-26 20:54:30
阅读次数:
144
要模拟真实的光照环境来生成一张图像,需要考虑三种物理现象: 1、光线从光源中被发射出来 2、光线和场景中的一些物体相交:一些光线被物体吸收了,而另一些光线被散射到其他方向 3、摄像机吸收了一些光,产生了一张图像 在光学里,我们使用辐射度来量化光。 BRDF:当给定入射光线的方向和辐照度后,BRDF可 ...
分类:
其他好文 时间:
2019-04-24 14:39:46
阅读次数:
138
(1) deferred shading:有最佳的光照和阴影效果,在场景中存在许多的实时光照时,使用deferred shading也是最佳的方案,之所以叫做deferred(延迟),是因为shading的时机不是发生在第一个Pass的顶点/片元函数内,而是存在延迟,直到第二Pass的时候才执行,每 ...
分类:
编程语言 时间:
2019-04-21 20:15:09
阅读次数:
180