自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (3)
  • 收藏
  • 关注

原创 创建灵活的摄象机

<br />通过鼠标活动改变vLookatPt(x,y,z)中的xyz<br />从而改变观察矩阵。<br />D3DXMatrixLookAtLH( &matView, &vEyePt, &vLookatPt, &vUpVec )

2010-06-30 14:48:00 620

原创 实现委托

<br />#include <iostream>using namespace std;template <class T>class A{private: typedef int (T::*delegateFun)(int); T * _This; delegateFun _deleGate;public: //This是被代理的对象, delegateFun是被代理的方法 A(T * This, delegateFun delegatef)

2010-06-30 14:18:00 717

原创 The Direct3D Transformation Pipeline

Introduction<br />This white paper provides a technical explanation for Direct3D application developers on how to set the parameters of the Direct3D Transformation Pipeline by the direct manipulation of Direct3D matrices.Overview<br />Direct3D uses three t

2010-06-29 19:04:00 1623

原创 Direct3D顶点坐标变换

<br />开始的话:顶点坐标变换时Direct3D学习中的入门基础,在这里将详述其原理:<br />Direct3D中渲染三维对象的过程分为两个阶段:《1》T&L(Transforming and Lighting),即坐标变换和光照;<br />                                                                《2》光栅化处理阶段。<br /> <br />一,T&L流水线:<br />      如下图:<br />            

2010-06-29 18:19:00 3695

原创 d3d像素雾化

Using Pixel Fog<br />Use the following steps to enable pixel fog in your application.Enable fog blending by setting the D3DRS_FOGENABLE render state to TRUE. Set the desired fog color in the D3DRS_FOGCOLOR render state. Choose the fog formula to use by set

2010-06-25 13:57:00 1266

原创 浮点数四舍五入最简洁的办法。

<br />float x=5.2;<br />int n;<br /> <br />n= int(x+0.5);

2010-06-23 22:43:00 1409 1

原创 d3d旋转分解

<br />D3D是通过Device的SetTransform来设置世界变换矩阵的。物体默认是在D3D的世界坐标原点上。如果我们要把它做一些变换再显示出来,就要计算一个该物体的世界矩阵matWorld,再调用Device的SetTransform(D3DTS_WORLD,&matWorld),来变换他的位置。<br />位移好说,用一个D3DXMatrixTranslation就能统统搞定,关键是旋转。D3D的所有旋转函数所围绕的轴都是穿过原点的,所以如果我们要空间中任意轴旋转,就要和位移配合起来做。<br

2010-06-23 17:09:00 3631 1

原创 关于3d旋转

<br />3d游戏中涉及到很多旋转,但是在计算旋转矩阵时,点的旋转要转化为向量的旋转来计算,而向量的旋转要从三维坐标转化为二维坐标来计算。

2010-06-20 22:55:00 855

原创 D3DXVec3Cross运算的意义

D3DXVECTOR3 *D3DXVec3Cross(      <br /><br />    D3DXVECTOR3 *pOut,    CONST D3DXVECTOR3 *pV1,    CONST D3DXVECTOR3 *pV2);通过差积运算得到一个垂直于pV1, pV2的向量。此向量垂直于pV1, pV2.

2010-06-20 17:27:00 4280

原创 D3DXVec3TransformNormal和D3DXVec3TransformCoord的区别

<br />一个是对向量的旋转,一个是对点的旋转<br /> <br />坐标和向量是有区别的:向量的第四维数值是0,坐标的第四维数值是1<br />向量=两个坐标的差值      第四维同样做减法,结果是0<br />向量的坐标变换用D3DXVec3TransformNormal,<br />点的变换用D3DXVec3TransformCoord。<br />D3DXVec3Transform和D3DXVec3TransformCoord相似,区别在于后者变换后将w投射回1<br /> <br />实际执

2010-06-20 17:06:00 2000

原创 d3d纹理过滤

<br />//=============================================================================<br />// Desc: 最近点采样和线性纹理过滤方式<br />//=============================================================================<br />#include <d3dx9.h><br />#pragma comment(lib, "d3d9.

2010-06-18 13:12:00 1231

原创 3d3灯光设置注意的地方

<br />#include <d3dx9.h><br />#pragma comment(lib, "d3d9.lib")<br />#pragma comment(lib, "d3dx9.lib")<br />#pragma comment(lib, "winmm.lib")<br />//-----------------------------------------------------------------------------<br />// Desc: 全局变量<br />//----

2010-06-18 11:04:00 1088

原创 d3d设置灯光时需要注意的地方

<br />void Render()<br />{<br /> g_pD3dDevice->Clear(0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(45, 50, 170), 1.0f, 0);<br /> if (SUCCEEDED(g_pD3dDevice->BeginScene())) {<br />  SetLight();<br />  g_pD3dDevice->SetStreamSource(0, g_pVB, 0, si

2010-06-17 18:13:00 1027

原创 d3d设置材质与灯光

//-----------------------------------------------------------------------------// Desc: 设置材质和灯光//-----------------------------------------------------------------------------VOID SetLight(){    //设置材质    D3DMATERIAL9 mtrl;    ZeroMemory( &mtrl, sizeof(D3DM

2010-06-17 12:32:00 2249

原创 d3d 画旋转方棱椎与六面体

<br /> //ÏÂÃæÊdzÌÐòËùÐèÒªµÄincludeÎļþ£¬µÚÒ»¸öincludeÊÇÊÓ´°Ëù±ØÐëµÄ£¬ //µÚ¶þ¸öÊÇDirect3D 8Ëù±ØÐëµÄ¡£ #include <WINDOWS.H> #include <D3DX8.H> HWND hWnd; HDC hDC; HINSTANCE hInstance; //µÃµ½³ÌÐòµÄÀý×Ó

2010-06-16 17:41:00 1385

原创 CheckDeviceType的作用

<br />HRESULT CheckDeviceType(      <br /><br />    UINT Adapter,<br />    D3DDEVTYPE DeviceType,<br />    D3DFORMAT DisplayFormat,<br />    D3DFORMAT BackBufferFormat,<br />    BOOL Windowed<br />);<br /> <br />CheckDeviceType用来检查是否有匹配的显卡驱动支持该DisplayForma

2010-06-16 16:41:00 2055

原创 d3d实现一个旋转的三角形

<br />#include "d3d9.h"<br />#include "d3dx9math.h"<br />#pragma comment(lib,"d3d9.lib")    <br />#pragma comment(lib,"d3dx9.lib") <br />#pragma comment(lib, "winmm.lib") <br />LPDIRECT3D9 g_pD3D = NULL;//Direct3D¶ÔÏó<br />LPDIRECT3DDEVICE9 g_pd3dDevice =

2010-06-16 14:58:00 808

原创 d3d实现一个旋转的三菱椎

<br />#include "d3d9.h"<br />#include "d3dx9math.h"<br />#pragma comment(lib,"d3d9.lib")    <br />#pragma comment(lib,"d3dx9.lib") <br />#pragma comment(lib, "winmm.lib") <br />LPDIRECT3D9 g_pD3D = NULL;//Direct3D¶ÔÏó<br />LPDIRECT3DDEVICE9 g_pd3dDevice =

2010-06-16 14:55:00 2325

原创 SetRenderState很耗资源,请放入init3D函数中

<br /> g_pd3dDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);<br /> g_pd3dDevice->SetRenderState(D3DRS_LIGHTING, false);<br /> <br />耗资源,而且只需要对设备设置一次就起到效果,所以放到初始化d3d 设备的函数中。

2010-06-16 14:26:00 1042

原创 为什么看到的三角形是黑的

<br />如果开了灯光,但是又没有设置材质,此时的三角形会是黑的,所以需要关闭灯光。<br />g_pd3dDevice->SetRenderState(D3DRS_LIGHTING, false);

2010-06-16 14:24:00 749

原创 d3d为什么不能显示正反面

<br />如果没加 g_pd3dDevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE); 会导致看不到正反面,所以如果没有旋转那么此时将看不到任何东西,因为看不到正面或者反面。

2010-06-16 14:23:00 720

原创 3d透视投影函数的理解

<br />转自http://blog.csdn.net/hhzczhh/archive/2010/06/15/5671563.aspx

2010-06-15 15:54:00 752

主板电路分析

文章对一款典型的主板电路进行了透彻的分析

2008-07-25

图书管理系统源码

图书管理系统源码,包括所有图片,代码,数据库,很完整。

2008-02-01

visio 必备宝典

使用VISIO画图时不可缺少得资料,所以叫必备宝典。

2008-01-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除