典型开源3D引擎分类比较
这是从别人那里摘抄而来, 学习之用.
http://www.cnblogs.com/cyberchen-net/archive/2007/03/04/663597.html
典型开源3D引擎分类比较
常见的3D引擎有:Unreal,Quake,Lithtech,OGRE,Nebula,Irrlicht,Truevision3D…等,其中开源免费的有:orge,irrli… 更多... “开源3D引擎比较”
IT夜班车
这是从别人那里摘抄而来, 学习之用.
http://www.cnblogs.com/cyberchen-net/archive/2007/03/04/663597.html
典型开源3D引擎分类比较
常见的3D引擎有:Unreal,Quake,Lithtech,OGRE,Nebula,Irrlicht,Truevision3D…等,其中开源免费的有:orge,irrli… 更多... “开源3D引擎比较”
d3d中可以在场景中直接渲染文本:
步骤很简单, 如下:
1. 定义ID3DXFont接口
ID3DXFont *m_pFPSFont;
2. 创建实例
LOGFONTW lf = { 0 };
lf.lfHeight = 20;
lf.lfWeight = 12;
lf.lfWeight = 400;
lf.lfItalic = false;
lf.lfUnderline = false;
lf.lfStrikeOut… 更多... “D3D 文本”
在学习d3d的初期就看到了渲染管线也就是T&L(Transform and Lighting).
Local Space ->World Space -> View Space ->Backface Culling -> Lighting -> Clipping -> Projection -> Viewport Space ->Rasterization
刚开始, 我认为当所有的物体渲… 更多... “问题: D3D 渲染的一点思考”
这里先描述一下遇到的问题:
共有2个进程, 进程A, 进程B. A通过CreateProcess来启动进程B, 启动的时候带有参数, 参数是一长串字符串, 里面就是用逗号隔开的一些IP地址.
起初一直都没有事, 一直到1年多以后, 当这个IP地址的数量是17, 在增加一个到18, 那么这个程序立即就出问题, 这里的这个程序指的是A. 弹出windows错误框, 是说程序在某处发生异常.
最后通过各种办法监测到这个错误是在Rend… 更多... “CreateProcess的命令行参数的长度”
一般创建installshield的工程的时候就会要求输入版本的名称, 这样我们就有了一个版本.
但是往往我们创建一个工程以后还想往一面添加其他的版本, 如我现在做的这个工程就有4个语言版本, 这样我创建这个工程的时候就会指定一种版本, 但是其他的3种都是通过添加完成的. 那么怎么添加呢? 其实很简单:
build -> release wizard然后按照这个向导一步一步完成即可.
有时我们还想删除一些已经添加的… 更多... “installshiled12 添加和删除发布版本”
我们在生活中看到的光有环境光, 漫反射光以及璄面反射光还有物体本身发射的光. 因此我们在定义材质时就要描述对这些光反应.
看看材质结构体的定义:
typedef struct _D3DMATERIAL9 {
D3DCOLORVALUE Diffuse; /* Diffuse color RGBA */
D3DCOLORVALUE Ambient; /* Ambient color RGB */
D3DCO… 更多... “D3D 材质和灯光”
通常我们创建的d3d程序时都是非全屏模式, 但是游戏大部分是全屏模式, 怎么创建这两种模式呢?
创建的时候有2点不同: 创建窗口, 创建设备.
1. 创建普通模式:
a. 创建窗口:
m_hMainWin = CreateWindowW( m_szWinClsName, m_szWinTitle, WS_OVERLAPPEDWIN… 更多... “d3d全屏模式”
因为当时没有理解这个东西, 导致自己写的一个小的测试程序无论如何不能按照自己的设想的方式工作.
1. 预期目标:
在世界空间中放置一个圆面, 一个正方形面, 还有一个三棱锥体. 让这三个模型围绕世界坐标系Y轴转动.
2. 实际结果:
三个模型都在对应的位置显示出来了, 并且都在围绕围绕坐标抽转动. 但是有个小问题, 按照预期, 转到一定角度, 正方形面有一部分… 更多... “深度缓冲”
d3d中能变换的坐标系有模型坐标系, 观察坐标系. 还有投影坐标系.
模型坐标系的变换是通过下面方式完成:
SetTransform( D3DTS_WORLD, &matWorld );
这个变换通常用来变换模型在世界坐标系中的位置. matWorld矩阵就是指明模型坐标系与世界坐标系之间的变换关系.
观察坐标系的变换是通过下面方式完成:
SetTra
D3D中有几个坐标系, 模型坐标系, 世界坐标系, 观察坐标系, 投影坐标系. 这里先简述一下模型坐标系和世界坐标系的概念和关系.
模型坐标系又称本地坐标系. 是为了方便建立模型, 不用去考虑所要建的模型在世界坐标系中的位置及方向. 建模型时, 只用考虑模型中各个顶点对应本地坐标系的位置就可以. 我们3DMax输出的模型文件.其中的对应的坐标系就是模型坐标系.
&nbs… 更多... “D3D中的坐标系”