03 2010 档案
摘要:玩了下《火炬之光》, 没想到能用OGRE做到这么个程度, 很让人惊叹!刚开始玩就注意到人被遮挡时, 并不是像其它游戏那把遮挡物半透明化, 而是把被遮挡的部分处理成一种透视效果:想了想, 其实也挺简单的, 把模型画两遍就成了:1. 先画场景2. 画被遮挡的部分, ZWrite=False; ZFunc=Greater; 开启Alpha混合, 光照亮度做为alpha值输出, 颜色由参数传入.3. 还原...
阅读全文
摘要:只是马马虎虎的 实现了个简陋的,完成基本思想,剩下的就没做了。以后在补上,希望有好的方法的留下脚印。#include<Windows.h>#include<d3d9.h>#include<d3dx9.h>#pragmacomment(lib,"d3d9.lib")#pragmacomment(lib,"d3dx9.lib")#pragmacomment(lib,...
阅读全文
摘要:1、 What`s Bump Mapping?Bump Mapping通过改变几何体表面各点的法线,使本来是平的东西看起来有凹凸的效果,是一种欺骗眼睛的技术:)。我们知道,如果几何体表面有高低不平的凹凸,那么表面上各点的法线方向就会不同, 那么当光照射到这些点上时,各点光照产生效果就不一样,那么我们最终看到的各点就是凹凸不平的。如果几何体表面是平的,但是各点的法线方向各不相同,当用光照模型进行光照...
阅读全文
摘要:对于光照模型,从算法理论基础而言,可分为两类,一类是基于物理理论的光照模型,另一种是基于经验的模型。从使用角度而言,可分为全局光照模型和局部光照模型,本文简单地介绍了几种最基础的经典局部光照模型.1、局部光照模型之Lambert Lambert光照模型是一个非常简单的模型,早在200多年前,一个叫Lambert的家伙提出,当光照射到粗糙的表面时,它将向四周均匀的反射。这种各向同性的反射叫漫反射(D...
阅读全文
摘要:1、为什么在纹理采样时需要texture filter(纹理过滤)。我们的纹理是要贴到三维图形表面的,而三维图形上的pixel中心和纹理上的texel中心并不一至(pixel不一定对应texture上的采样中心texel),大小也不一定一至。当纹理大于三维图形表面时,导至一个像素被映射到许多纹理像素上;当维理小于三维图形表面时,许多个象素都映射到同一纹理。当这些情况发生时,贴图就会变得模糊或发生错...
阅读全文
摘要:1、什么是Tangent space?Tangent space和world space,view space其实是同样的概念,均是代表三维坐标系。在这个坐标系中, X轴对应纹理坐标的U方向,沿着该轴纹理坐标U线性增大。Y轴对应纹理坐标的V方向,沿着该轴纹理坐标V线性增大。Z轴则是UXV,垂直于纹理平面。2、为什么需要tangent space?在normal map等技术中,存储在texture...
阅读全文