|
|
|
|
|
[转]3ds max sdk导出插件编写的心得
摘要:3ds max sdk导出插件编写的心得 作者:yhchinabest 来自:CG先生-3D图形插件开发网http://www.cgsir.com/ 目录 写在前面 环境配置 第一个导出程序 Mesh,Material,Light,Camera,让我们找到它们 Mesh,Material,Light,Camera,让我们解析他们 写在前面 为什么要写这个心得?去年11月...
阅读全文
一个很不错的3DS MAX脚本网站
摘要:http://www.cgsir.com/
阅读全文
[转]游戏UI(1)
摘要:1、Surfaces是什么: 通俗的讲surfaces就是一个二维的矩形平面。在DX9中,与其对应的com接口为IDirect3DSurface9,LPDIRECT3DSURFACE9。 2、Surfaces的作用: 作为一个矩形平面,surfaces用来在屏幕上显示平面图象,即从文件中读取图象数据呈现给用户。 3、IDirect3DSurface9的使用一般过程: 声...
阅读全文
[转]speed tree技术分析
摘要:speed tree技术分析 两年前第一次下载speed tree demo运行时,立刻被精美的画面所震撼,场景中大片的树木尤其吸引我的眼球,speed tree使用何种技术来渲染大范围的植物一直令我不解。因为在很多游戏中对树木的渲染都可以很明显地看到多边形的痕迹,而在speed tree中你几乎看不到任何破绽,繁茂的树叶、精确的光照、shadow、self-shadow,这些元素构造起...
阅读全文
[转]DX设备丢失
摘要:设置丢失 设备丢失的典型情况:图形显示丢失焦点,例如按下alt+tab键,或者弹出一个系统对话框;调用Reset接口函数的任何错误也会导致设备丢失。丢失后,所有继承自IUnknown的方法仍可以继续正常正作,除了Present()会返回D3DERR_DEVICELOST错误代码。 处理设备丢失:在重设(reset)丢失的设备之前,必须重新创建所有相关的资源(包括显存!)。在设备丢失后,...
阅读全文
[转]DX分屏
摘要:Introduction In DirectX 8, support for rendering to multiple windows is provided through the creation of additional swap chains. Ho...
阅读全文
投影纹理
摘要:tex2D和tex2DProj的区别在于tex2D不会处理W,也就是不会将坐标标准化,而tex2Dproj会, 投影纹理Shader代码: VertexShader: float4x4 matViewProjection; float4x4 mat; struct VS_INPUT { float4 Position : POSITION0; float2 Texcoord ...
阅读全文
自定义材质脚本格式
摘要:material 材质名称 { technology 名称//此名称无效,只用标识 { pass 0 { Diffuse 0,1.0,0 Texture 纹理名称 { FileName 纹理文件名 MipMap true } AlphaControl Alpha通道...
阅读全文
[原]关于自由摄影机系统
摘要:这几天一直在做摄影机系统,是一个关于GLScene的摄影机系统,怎么说呢,工作其实没有完成太好,我也很抱歉.但也发现在摄影机开发时多少注意的问题,如果你想让你的摄影机操作看上去那么自然的话. 大家都知道一个摄影机系统包含Up,Right,Look(Look向量可以通过LookAt-Position获得)向量.这三个向量相互影响。那在开发时候如何来更容易更好的把思路理清楚呢?我的处理办法...
阅读全文
[转]纹理矩阵
摘要:高级纹理映射技术(7) 纹理坐标变换 Direct3D提供了对生成的纹理坐标进行坐标变换的功能,与顶点坐标变换相类似,可以指定一个4x4的纹理坐标变换矩阵,把它与生成的纹理坐标相乘,然后将变换之后的纹理坐标输出至Direct3D渲染流水线。使用纹理坐标变换可以对纹理坐标进行诸如平移、旋转和缩放等三维变换。纹理坐标变换对于生成一些特殊效果是非常有用的,它不用直接修改顶点的纹理坐标。例如可以通过一个...
阅读全文
[转]DirectXGraphics访问贴图内存
摘要:DirectXGraphics访问贴图内存 Jack Hoxley译:zh1110 1.介绍 2. 贴图到贴图的拷贝 3. 快速访问贴图内存 ...
阅读全文
[原]Terrian Splatting
摘要:编写难度不是太大,主要是花时间在改框架上,还有思路的选择,做细节纹理有很多重方法,有的甚至用到了Shader.最后我还是抛弃使用Shader,因为用Shader会出现很多问题,比如:光照问题.还有扩展问题,如果这次用3层,下次我用4层,那就要修改Shader代码. 不足:细节纹理的层数有限制.如果要做到无限制,就要COPY纹理,一想到可能是16位,32位纹理我就可怕,好麻烦啊.... ...
阅读全文
关于自己这几天的修改发现
摘要:现在在完善自己的Terrian系统,但发现问题多多,最头大的问题就是自己的纹理混合器没有设计好,只设计了两层,现在看来是需要设计三层结构才可以,一层PIN,一层Stage,一层Mixer
阅读全文
[转]3D地形多层纹理混合加阴影渲染方法
摘要:3D地形多层纹理混合加阴影渲染方法 地形由于十分庞大,需要大量顶点,所以往往占用很多内存空间,那么就应该在地形贴图上想办法节约空间。很多游戏的地形,虽然看上去不同地点的纹理好像互不相同,地表纹理十分丰富,但其实真正用的贴图是很少的,之所以还能产生地表纹理变化多端的视觉效果,是因为使用了Alpha混合和阴影,从而产生一种错觉。2.5D的网络游戏《奇迹》(MU)、全3D引擎Torque(多人联网FPS...
阅读全文
[转]地形法线的生成算法
摘要:现在的地形渲染一般都使用高度图来作为数据源,高度图中每一个像素的颜色都代表着一个高度值,就为其y值,其x,z值为程序生成的规格数据。所以将所有这些顶点依次用三角形带绘制出来,即形成一块地形。 但问题出来了,高度图中没有包含法线信息,无法进行光照,当然你可以说,...
阅读全文
[转]关于3D游戏引擎
摘要:经常能看到有些客户端的招聘要求里只有对Direct3D和显示特效的强调。也就是说,很多人只看到了3D引擎、在3D引擎里又只看到了模型和特效。但它们只是一小部分,而且并不是最有技术含量的部分。因为3D技术已经发展了很多年,尤其是硬件发展速度快,硬件厂商巴不得软件开发人员用上他们提供的所有先进技术,所有的技术都是开放的,都有详细的文档和样例。到今天已经是几乎每个人都自己写一套3D引擎的地步,开源的引擎...
阅读全文
[转]地形教程
摘要:Terrain Tutorial 地形教程 Computing Normals 法线的计算 To apply lighting to a terrain, either using OpenGL lights, or simulating them, it is necessary to first compute normals. A normal is a vector that defi...
阅读全文
[原]关于D3D分屏框架的一点点解决思路
摘要:其实也不能算是自己的思路,其实D3D中已经是有了的,只是以前学习的时候没有深入学习.就是利用ViewerPort,OPENGL的和D3D的不同,OPENGL中是针对窗口来说的,而D3D中是针对BACKBUFFER来说的.所以我们只要在渲染的时候指定一个VIEWERPORT则就可以实现了分屏了,其实就是在一个大的BACKBUFFER中,分多个VIEWPORT的区域.
阅读全文
[原]3D曲线
摘要:其实,想实现3D曲线并不困难,但主要是观念上的转变,就是不要以数学的角度来思考3D曲线,而是以物理的角度来思考,不要动不动就找什么数学3D曲线公式.从物理的角度思考有两点:1)变换坐标系.2)物理运动学公式.第二点很好理解,第一点就是把3D的坐标变换到2D坐标系里计算,物理计算完毕后,再变换回去. 1)第一种不规则曲线 2)第二种规则曲线
阅读全文
关于一点ZBUFFER
摘要:OPENGL的ZBUF取值在-1~1之间,而DX的ZBUF取值在0~1之间 其实,这就是z-test的原因;当每个像素被写入时,渲染器首先检查是否已经存在一个z值更小的像素,如果不存在,这个像素就被绘制出来;如果存在,就跳过该像素。这段话也就说明了dx中z为0.0的永远处于最前面。而如果我把z-test关闭调之后,一切都ok了。所以这个bug的解决方案就有了2个。最后附带下: z必须是z-buff...
阅读全文
|
|