上一页 1 ··· 44 45 46 47 48 49 50 51 52 ··· 94 下一页
摘要: HRESULT SetClipPlane(DWORDIndex,CONST float *pPlane);参数:第一个是索引,不用说了。第二个是存着 A B C D的数组。这个数组最后会用来构建 Ax+By+Cz+Dw = 0;平面。然后顶点会根据自已的位置(x,y,z,w)来进行判断。如果Ax+By+Cz+Dw >= 0。则表示在平面前方,保留。反之则在后方,被裁剪掉。值得注意的时,在固定管线使用平面裁剪的时候,是在世界坐标系中处理的。而用SHADER的时候,是在裁剪空间中处理的。(即顶点输出的时候的坐标系)貌似还是太抽象。比如顶点输入坐标是pos 此时的坐标变换阵是WVP,则 Out 阅读全文
posted @ 2012-04-24 17:55 小 楼 一 夜 听 春 雨 阅读(1427) 评论(0) 推荐(0)
摘要: 开始错误一大堆。。。都是shader里面的语法错误。。。我擦!#include "d3dUtility.h"const DWORD width = 640;const DWORD height = 480;//// Globals//IDirect3DDevice9* Device = 0; IDirect3DVertexShader9* pShader = 0;ID3DXConstantTable* pConstTable = 0;ID3DXMesh* teaPot = 0;D3DXHANDLE viewMatHandle;D3DXHAND... 阅读全文
posted @ 2012-04-20 17:04 小 楼 一 夜 听 春 雨 阅读(473) 评论(0) 推荐(0)
摘要: http://blog.csdn.net/cppyin/article/details/6177742在3D程序中,通常用quaternion来计算3D物体的旋转角度,与Matrix相比,quaternion更加高效,占用的储存空间更小,此外也更便于插值。在数学上,quaternion表示复数w+xi+yj+zk,其中i,j,k都是虚数单位:i*i = j*j = k*k= -1i*j = k, j*i = -k可以把quaternion看做一个标量和一个3D向量的组合。实部w表示标量,虚部表示向量标记为V,或三个单独的分量(x,y,z)。所以quaternion可以记为[ w,V]或[ w, 阅读全文
posted @ 2012-04-18 15:54 小 楼 一 夜 听 春 雨 阅读(889) 评论(0) 推荐(0)
摘要: SetRenderState( D3DRS_CULLMODE, D3DCULL_NONE ) :不要剔除背面,即正反面都绘制。 SetRenderState( D3DRS_CULLMODE, D3DCULL_CW ) :把顺时针的方向看作背面剔除掉 SetRenderState( D3DRS_CULLMODE, D3DCULL_CCW ) :把逆时针的方向看作背面剔除掉(在消隐中为默认值)默认值为D3DCULL_CCW, 即:把顺时针方向作为正面,逆时针方向的面作为反面剔除掉。 阅读全文
posted @ 2012-04-18 15:24 小 楼 一 夜 听 春 雨 阅读(413) 评论(0) 推荐(0)
摘要: 这两种方式都可以绘制三角形网格,那么在什么情况下使用它们呢? 如果要画多个三角型,那么使用D3DPT_TRIANGLELIST一定要配合IndexBuffer,否则的话将要重复定义很多顶点,如果要画少量的三角型,则可以使用D3DPT_TRIANGLESTRIP来代替D3DPT_TRIANGLELIS 阅读全文
posted @ 2012-04-16 10:49 小 楼 一 夜 听 春 雨 阅读(317) 评论(0) 推荐(0)
摘要: http://blog.csdn.net/hello_world2001论坛里经常看到跳槽的帖子,总体感觉只能是一声叹息。那些1年一跳甚至1年N跳的朋友,请记住,如果你没有自己创业的打算的话,你们现在的选择,会成为你们将来职业发展的致命伤。跟很多开发经理,架构师,产品经理等朋友聊过,招人最大的感触就是,绝大多数IT人都说不清楚自己是做什么的。为什么这点特别重要?因为如果你讲不清楚自己是做什么的,或者说不清楚自己为什么跳槽,很有可能就是,1. 你过去几年就是打酱油的。2. 你是个没有思考能力的人。3. 你缺乏基本的表述能力。4. 你是个随心所欲的人,缺乏对工作的尊重。。。。从面试者的角度,他们只 阅读全文
posted @ 2012-04-08 01:16 小 楼 一 夜 听 春 雨 阅读(464) 评论(0) 推荐(0)
摘要: 对GetLogicalDriveStrings的理解:函数原形:DWORD GetLogicalDriveStrings( DWORD nBufferLength, // size of buffer LPTSTR lpBuffer // drive strings buffer);说明:GetLogicalDriveStrings函数将一个缓冲区lpBuffer填入在计算机上存在的硬盘盘符.参数说明:nBufferLength是缓冲区lpBuffer的大小,以字节为单位.它的大小不包含最后的空字符.如果它的值为零,缓冲区不可用.lpBuffer指向一个接收各种以零结尾的字符串缓冲区,一个空字 阅读全文
posted @ 2012-03-12 10:20 小 楼 一 夜 听 春 雨 阅读(471) 评论(0) 推荐(1)
摘要: subclassdlgitem 该函数用来子类化一个控件. Subclass(子类化)是MFC中最常用的窗体技术之一。子类化完成两个工作:一是把窗体类对象attach到一个windows窗体实体中(即把一个窗体的hwnd赋给该类)。另外就是把该类对象的消息加入到消息路由中,使得该类可以捕获消息。 SubclassDlgItem可以把对话框中已有的控件与某个窗口对象动态连接起来,该窗口对象将接管控件的消息处理,从而使控件具有新的特性.SubclassDlgItem函数的声明为 BOOL SubclassDlgItem( UINT nID, CWnd* pParent ); 参数nID是... 阅读全文
posted @ 2012-03-09 14:09 小 楼 一 夜 听 春 雨 阅读(488) 评论(0) 推荐(0)
摘要: 一个图形爱好者的书架.-也来介绍一下我的藏书.早几天看到有人把自己在大学四年的书列了出来.招来一顿怀疑.我是开发图形程序的.我现在也把我的书列出来.不怕大家怀疑吧.希望能有点启示作用.绿色的是我看完了的。红色的是没怎么看的。黄色的是看了一半以上的。首先是基础部分:语言类:C++ Programming Language (Special Edition).C++的圣经级别的书.我只看原文的。不看翻译的.对球教授的翻译表示一定的保留意见.Effictive/More Effictive C++.工程实践的最佳经验书籍.Inside C++ Object Model.好书.看完了。你对C++的理解 阅读全文
posted @ 2012-03-08 10:19 小 楼 一 夜 听 春 雨 阅读(472) 评论(0) 推荐(0)
摘要: http://blog.csdn.net/nhsoft/article/details/5293387静态链接只连接真正用的函数,所以链接出来的体积变小了。。。1000个库函数你只用了一个,静态链挺好。如果有N个模块,每个都用静态链接,那就不一定比全部动态链接小了。得回去看程序员的自我修养了。。。 阅读全文
posted @ 2012-03-08 10:13 小 楼 一 夜 听 春 雨 阅读(233) 评论(0) 推荐(0)
上一页 1 ··· 44 45 46 47 48 49 50 51 52 ··· 94 下一页