现实中,一个物体在阳光照射下,有些面会反射光线强些,有些反射光线弱些..要模拟这样的效果,需要设置物体的材质??还是光照??说说其中的原理,或给个介绍的比较详细的链接...谢谢
解决方案 »
- 请教连接mdb数据库问题
- Unhandled expcetion at................
- socket网络编程的几个问题?
- VC/MFC
- shell扩展编程 如何给文件夹添加右键菜单(如何注册菜单 和 遍历文件夹所有文件)
- 为什么我在子线程中创建一个派生于CAsyncSocket类的对象,但是第二次的时候Create就出了问题……
- 请登陆ftp://pub:[email protected]帮我调试一个程序。
- 如果获得文本?
- 怎样在NT或2000中控制客户机对文件只能读取不能拷贝,或控制某一个程序有权读取文件
- vc6读UFT-8文件
- CAsyncSocket receive之前有没有办法知道将要获取的数据大小
- 关于控件的打包,发布和调用的问题
对动态物体,可用Projection Shadow,简单说就是从光源方向把物体影子渲染到一张纹理,然后通过使用纹理坐标生成(TexCoordGen)和修改相应Texture Coordinates Matrix,把这张图贴到地面渲染。
普通光照一般就是 Light dot Normal
高光一般是 Eye dot Half
你说的特别亮的地方应该是高光
DiffuseColor = (255,255,255) //漫射光
AmbientColor = (255,255,255) //环境光
SpecularColor = (255,255,255) //镜面光
再设置材质的属性如下:
mtrl.Ambient = (0,0,0);
mtrl.Diffuse = (255,255,255);
mtrl.Specular = (255,255,255);
mtrl.Emissive = (0,0,0);我再移动光源,物体的向光部分会被照亮,而其他背光部分就是黑的..
我现在就是想让效果更逼真点,被照亮的部分会因为物体表面的不同,而有些地方显示的更亮,有些地方相对更暗,这样该怎么做??
对所有的光线的镜面反射参数为满值。
然后设置光源的颜色是(1.0,1.0,1.0,1.0);
在某一特定角度,就会出现很明亮的绚丽效果。
主要是物体镜面反射和漫反射的物理特性。
这样是整个物体的属性,我现在是想让这个物体上某部分的亮度比其他部分高.
把阴影换成光柱。
然后单独渲染阴影部分。
多重纹理中的黑暗纹理可以实现
也可以看下这里,建议还是买本书来看看吧
精通directx 3D图形与动画程序设计,这本里有一些用hlsl的例子