偶初学DirectX 而且看不惯老外写代码的风格..... 是在难懂啊 Device->CreateVertexBuffer( //Create顶点缓冲
6 * sizeof(Vertex), //分配 6个顶点吗? 这个是疑问
D3DUSAGE_WRITEONLY, //只写
Vertex::FVF, //这个也不懂.....
D3DPOOL_MANAGED, //内存池
&Quad, //返回值 用于接收创建的顶点缓冲
0); Vertex* v;
Quad->Lock(0, 0, (void**)&v, 0); //访问创建的顶点缓存 //但是v就不知道是什么了... // quad built from two triangles:
v[0] = Vertex(-1.0f, -1.0f, 1.25f, 0.0f, 0.0f, -1.0f, 0.0f, 3.0f); //↓这一堆都不知道是干什么的..郁闷书上没介绍到
v[1] = Vertex(-1.0f, 1.0f, 1.25f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f);
v[2] = Vertex( 1.0f, 1.0f, 1.25f, 0.0f, 0.0f, -1.0f, 3.0f, 0.0f); //我想下 之前的例子 没看到有创建三角形的函数之类的操作 应该就是在这里弄的吧 v[3] = Vertex(-1.0f, -1.0f, 1.25f, 0.0f, 0.0f, -1.0f, 0.0f, 3.0f);
v[4] = Vertex( 1.0f, 1.0f, 1.25f, 0.0f, 0.0f, -1.0f, 3.0f, 0.0f);
v[5] = Vertex( 1.0f, -1.0f, 1.25f, 0.0f, 0.0f, -1.0f, 3.0f, 3.0f);//↑到这里 Quad->Unlock(); //应该是释放、解锁 之类的吧 是这样理解的应该 D3DXCreateTextureFromFile( //从磁盘加载图片为纹理
Device, //D3D接口
"dx5_logo.bmp", //图片位置
&Tex); //返回值 Device->SetTexture(0, Tex); //设置纹理 Device->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR);//纹理过滤器的 //线性纹理
Device->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); //不知道为什么 线性纹理要2次 而近点采样一次呢
Device->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_POINT); //近点采样 Device->SetRenderState(D3DRS_LIGHTING, false); //应该是关闭 纹理过滤器的吧
//我看了很多次 "SetRenderState"这函数了 第一个参数应该是标识吧 第二个 是开关? 是这样理解的吗
6 * sizeof(Vertex), //分配 6个顶点吗? 这个是疑问
D3DUSAGE_WRITEONLY, //只写
Vertex::FVF, //这个也不懂.....
D3DPOOL_MANAGED, //内存池
&Quad, //返回值 用于接收创建的顶点缓冲
0); Vertex* v;
Quad->Lock(0, 0, (void**)&v, 0); //访问创建的顶点缓存 //但是v就不知道是什么了... // quad built from two triangles:
v[0] = Vertex(-1.0f, -1.0f, 1.25f, 0.0f, 0.0f, -1.0f, 0.0f, 3.0f); //↓这一堆都不知道是干什么的..郁闷书上没介绍到
v[1] = Vertex(-1.0f, 1.0f, 1.25f, 0.0f, 0.0f, -1.0f, 0.0f, 0.0f);
v[2] = Vertex( 1.0f, 1.0f, 1.25f, 0.0f, 0.0f, -1.0f, 3.0f, 0.0f); //我想下 之前的例子 没看到有创建三角形的函数之类的操作 应该就是在这里弄的吧 v[3] = Vertex(-1.0f, -1.0f, 1.25f, 0.0f, 0.0f, -1.0f, 0.0f, 3.0f);
v[4] = Vertex( 1.0f, 1.0f, 1.25f, 0.0f, 0.0f, -1.0f, 3.0f, 0.0f);
v[5] = Vertex( 1.0f, -1.0f, 1.25f, 0.0f, 0.0f, -1.0f, 3.0f, 3.0f);//↑到这里 Quad->Unlock(); //应该是释放、解锁 之类的吧 是这样理解的应该 D3DXCreateTextureFromFile( //从磁盘加载图片为纹理
Device, //D3D接口
"dx5_logo.bmp", //图片位置
&Tex); //返回值 Device->SetTexture(0, Tex); //设置纹理 Device->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR);//纹理过滤器的 //线性纹理
Device->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); //不知道为什么 线性纹理要2次 而近点采样一次呢
Device->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_POINT); //近点采样 Device->SetRenderState(D3DRS_LIGHTING, false); //应该是关闭 纹理过滤器的吧
//我看了很多次 "SetRenderState"这函数了 第一个参数应该是标识吧 第二个 是开关? 是这样理解的吗
解决方案 »
- 哪位大哥有PCMCIA接口的开发经验,比如如何用程序的方法检测PCMCIA卡接上/断开
- 请教IPicture中Render()函数的使用方法,请使用过的朋友说说参数的用法
- 请问怎么样取得程序启动时的运行参数?
- 从数据库中读取图片的问题(在线等)
- 极简单的问题,谢谢大家?
- 如何点击一个button,让其上的背景换成另一个bitmap?
- VC编译问题,在线等待
- 如果判断一个IE窗口是否是广告窗口?????
- 系统关闭自动播放,AUTORUN程序无法运行?
- ??我从网上下载的pdf文件,需要提取部分章节,可不行。有什么办法让我提取。
- 前几年去有次去面试,被BS了 - MFC的地位很惨淡啊
- VC CListCtrl子项赋值问题,怎么解决?
括号里面的float是什么意思。
v[0] = Vertex(-1.0f, -1.0f, 1.25f, 0.0f, 0.0f, -1.0f, 0.0f, 3.0f); 这是构造一个顶点 按照顶点格式 应该是坐标 演示 纹理坐标等
Device->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR);//纹理过滤器的 //线性纹理
Device->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR); //不知道为什么 线性纹理要2次 而近点采样一次呢
Device->SetSamplerState(0, D3DSAMP_MIPFILTER, D3DTEXF_POINT); //近点采样
这个是设置 采样 分别设置 增大的 小的 和 渐进等级 纹理 采样为 线性采样 这个是图形学 里面看下
这个应该是初学就懂的吧?