Direct3D基础

原创 2012年03月27日 22:24:44

设置世界变化矩阵

D3DXMATRIX mat_world;

D3DXMatrixIdentity(&mat_world);
g_pd3dDevice->SetTransform(D3DTS_WORLD,&mat_world);

设置观察矩阵

D3DXVECTOR3 eye(0.0f,0.0f,-10.0f);
D3DXVECTOR3 lookat(0.0f,0.0f,0.0f);
D3DXVECTOR3 up(0.0f,1.0f,0.0f);
D3DXMATRIX mat_view;
D3DXMatrixLookAtLH(&mat_view,&eye,&lookat,&up);
g_pd3dDevice->SetTransform(D3DTS_VIEW,&mat_view);

设置投影变换矩阵
D3DXMATRIX mat_proj;
D3DXMatrixPerspectiveFovLH(&mat_proj,D3DX_PI/2,1.0f,1.0f,100.0f);

g_pd3dDevice->SetTransform(D3DTS_PROJECTION,&mat_proj);


创建非多级渐进纹理:

D3DXCreateTextureFromFileEx( g_pd3dDevice, 
                                   L"texture.jpg",
 0, 0,             //纹理宽度和高度, "0"表示以图形文件的宽度和高度作为纹理的宽度和高度
1,                //渐进纹理序列级数
 0,                //纹理使用方式, 一般为0
D3DFMT_X8R8G8B8,  //纹理图形格式
D3DPOOL_MANAGED,  //纹理资源的内存类型
D3DX_DEFAULT,    
D3DX_DEFAULT, 
        0xFF000000,0,0,
        &g_pTexture )

创建多级渐进纹理:

D3DXCreateTextureFromFileEx( g_pd3dDevice, 
                                   L"texture.jpg",
0, 0,             //纹理宽度和高度, "0"表示以图形文件的宽度和高度作为纹理的宽度和高度
        0,                //渐进纹理序列级数
0,                //纹理使用方式, 一般为0
D3DFMT_X8R8G8B8,  //纹理图形格式
D3DPOOL_MANAGED,  //纹理资源的内存类型
D3DX_DEFAULT,    
D3DX_DEFAULT, 
        0xFF000000,0,0,
        &g_pMipTex )

纹理过滤:

最近点采样

g_pd3dDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_POINT);
g_pd3dDevice->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_POINT);

线性过滤

g_pd3dDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR);
g_pd3dDevice->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR);

学习游戏开发,先学OpenGL再学Direct3D还是直接学习Direct3D?

查看: 11191|回复: 30    学习游戏开发,先学OpenGL再学Direct3D还是直接学习Direct3D? [复制链接]   ...
  • a237653639
  • a237653639
  • 2015年08月24日 17:22
  • 2248

两天学会DirectX 3D之入门

环境配置以及背景知识环境 Windows 8.1 64bit VS2013 Microsoft DirectX SDK (June 2010) NVDIA Geforce GT755环境的配置参考 V...
  • qp120291570
  • qp120291570
  • 2015年07月05日 11:32
  • 2710

Direct3D 11教程2:绘制一个三角形

概览 在前面的教程中,我们创建了一个最小化的Direct3D 11程序在平面上输出了单一的颜色。 本教程中,我们会在屏幕上绘制一个三角形。我们会学习设置三角形数据结构的方法。 源代码 (...
  • jake2012
  • jake2012
  • 2014年04月23日 15:23
  • 1775

我的Direct3D学习之路3:第一个3D绘图程序

之前已经详述过投影变换,这里不再赘述。 之前我们一直是在窗口中绘制,使用了D3DFVF_XYZRHW格式的顶点,D3D是默认顶点经过了处理,直接绘制在窗口上 现在我们用D3DFVF_XYZ格式来绘...
  • mao_xiao_feng
  • mao_xiao_feng
  • 2016年10月12日 13:47
  • 1355

第一次使用Direct3D

生命不止,奋斗不息,我无法让自己的思想停留下来,无法忍受自己虚度光阴,无所事事,我一直不看好满足现状,不求进取的人,也正因为如此,我一直在使自己变得完美,只要不会,只要有机会学,当然只要有时间,我都会...
  • lixiang987654321
  • lixiang987654321
  • 2016年06月05日 17:46
  • 751

Direct3D基础概念和模型整理

模型主要是物理组成,数据传输和固定图形管道模型;概念主要包括IDirect3D, Adapter, Device, swap chain,surface后台缓存、前台缓存、深度和模板缓存,资源,资源类...
  • Blues1021
  • Blues1021
  • 2014年11月14日 00:32
  • 2094

Direct3D的四大变换

//-----------------------------------【程序说明】---------------------------------------------- // 程序名称::...
  • u012319493
  • u012319493
  • 2017年02月07日 00:33
  • 342

【Direct3D基础篇】之基本概念

之所以,计算机图形学一般用三角形绘制图形,是因为三角形,三个顶点是共面的,由于计算机渲染共面的顶点,比绘制不共面的顶点效率要高,所以三角形成了图形学的基础。...
  • qq_34078945
  • qq_34078945
  • 2017年04月11日 14:25
  • 222

Direct3D 12 尝鲜(四): 旋转的彩色立方体

在D3D12中显示一个旋转的彩色立方体
  • dustpg
  • dustpg
  • 2015年04月19日 19:57
  • 2699

Direct3D数学基础函数

一、向量: 1.直接 相等加减直接 D3DXVec3Length D3DXVec3Normalize 数乘直接 2.点乘D3DXVec3Dot 点乘D3DXVec3Dot,主要计算夹角(投影角)...
  • Blues1021
  • Blues1021
  • 2014年12月07日 21:04
  • 1059
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Direct3D基础
举报原因:
原因补充:

(最多只允许输入30个字)