E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
directx11
D3D11无双(1):渲染你的第一个三角形
回到话题,初学
DirectX11
,如何渲染出你的第一个三角形呢。我们将分成几步,介绍
DirectX11
的基本步骤
booirror
·
2016-04-25 23:00
游戏
3D
三角形
DirectX
directx11
【
DirectX11
-Tutorial】运行第一个win32程序A Primer of Basic Windows
DirectX11
-Tutorial本系列主要参考此博客的文章,同时会加上一点个人实践过程。
hcud024
·
2016-04-24 16:00
游戏
Win32
VS2015
directx11
【
DirectX11
-Tutorial】win32基础1-游戏运行的各个阶段The Parts of a game
DirectX11
-Tutorial本系列主要参考此博客的文章l,同时会加上一点个人实践过程。
hcud024
·
2016-04-24 16:00
游戏
Win32
VS2015
directx11
2016-03-15
电脑型号X86兼容台式电脑(扫描时间:2016年03月15日)操作系统Windows7旗舰版32位(
DirectX11
)处理器AMDAthlon(速龙)64X2双核5200+主板华硕M2N68-AMSE2
gyz418
·
2016-03-15 23:00
Directx11
学习笔记【七】 游戏定时器的实现
无论是在动画还是在一些游戏中,定时器总是必不可少的,游戏的帧数动画的播放等都离不开定时器的控制。这里以dx11龙书中提供的定时器为例,具体看看是怎么实现一个简单但精度高使用方便的定时器的。这个定时器使用的windows中的高精度计时函数QueryPerformanceCounter和QueryPerformanceFrequencyBOOLQueryPerformanceCounter(LARGE
zhangbaochong
·
2016-03-12 21:00
<考古笔记>hge游戏引擎(一)
因为这是个用DirectX8写(所以介绍说可以硬件加速)的2D引擎,而现在微软官网新的
DirectX11
SDK里面只包括了9-11的内容(想重新编译下hge.lib还需要去找dx8的sdk),更不用说现在还出了
tjj00686
·
2016-03-05 22:00
Directx11
学习笔记【六】 基本的数学知识----矩阵篇
参考dx11龙书Chapter2matrixalgebra(矩阵代数) 关于矩阵的一些基本概念定理(例如矩阵加减乘法,逆矩阵,伴随矩阵,转置矩阵等)可以参考维基百科https://zh.wikipedia.org/wiki/ XNAMATRICESMatrixTypes 在xnamath中代表一个4*4的矩阵,我们使用XMMATRIX 当在类中存储数据时使用XMFLOAT4X4 用XMMatri
zhangbaochong
·
2016-03-03 22:00
Directx11
学习笔记【五】 基本的数学知识----向量篇
本文参考dx11龙书Chapter1vectoralgebra(向量代数) 要想学好游戏编程,扎实的数学知识是尤为重要的,下面将对dx11龙书中有关向量的数学知识做一下总结。在数学中,几何向量(也称为欧几里得向量,通常简称向量、矢量),指具有大小(magnitude)和方向(direction)的几何对象,可以形象化地表示为带箭头的线段,箭头所指:代表向量的方向、线段长度:代表向量的大小。向量的表
zhangbaochong
·
2016-03-02 23:00
Directx11
学习笔记【四】 封装一个简单的Dx11DemoBase
根据前面两个笔记的内容,我们来封装一个简单的基类,方便以后的使用。代码和前面类似,没有什么新的内容,直接看代码吧(由于代码上次都注释了,这次代码就没怎么写注释o(╯□╰)o)Dx11DemoBase.hDx11DemoBase.h#pragmaonce #include #include #include classDx11DemoBase { public: Dx11DemoB
薛定谔的喵
·
2016-02-02 21:00
Directx11
学习笔记【四】 封装一个简单的Dx11DemoBase
根据前面两个笔记的内容,我们来封装一个简单的基类,方便以后的使用。代码和前面类似,没有什么新的内容,直接看代码吧(由于代码上次都注释了,这次代码就没怎么写注释o(╯□╰)o)Dx11DemoBase.hDx11DemoBase.h#pragmaonce #include #include #include classDx11DemoBase { public: Dx11DemoB
薛定谔的喵
·
2016-02-02 21:00
Directx11
学习笔记【三】 第一个D3D11程序
在先前的解决方案中新建一个新的Win32项目FirstD3D11Demo。在写代码之前,我们必须先添加dx11所需要的库。为了链接dx库,右键项目选择属性->vc++目录,在包含目录中添加你所安装的SDK根目录\Include,在库目录中添加根目录\lib\x86(或x64),在链接器->输入的附加依赖项中添加d3d11.lib、d3dx11.lib、dxerr.lib。第一次使用d3d,首先应该
薛定谔的喵
·
2016-01-31 22:00
Directx11
教程(14) D3D11管线(2)
下面我们来了解一些GPUmemory的知识,主要参考资料:http://fgiesen.wordpress.com/0211/07/02/a-trip-through-the-graphics-pipeline-2011-part-2 现在gpu上常用的videomemory是GDDR5,和主机上常用的内存ddr3比起来,它具有带宽高,时延长的特点。 DRAM芯片通常被组织成2维gri
迈克老狼2012
·
2016-01-31 22:00
Directx11
学习笔记【二】 将HelloWin封装成类
将于窗体有关的操作封装到里面 MyWindow.h文件1/************************************************************************ 2
Directx11
薛定谔的喵
·
2016-01-22 23:00
Directx11
学习笔记【一】 最简单的windows程序HelloWin
首先,在vs2013中创建一个空的解决方案Dx11Demo,以后的工程都会放在这个解决方案下面。然后创建一个win32项目,勾选空项目,确定在源文件中添加一个c++SourceFilemain.cpp 创建一个windows应用程序需要以下几步:WinMain函数的定义;创建一个窗口;进行消息循环;编写窗口过程函数. 要创建一个窗口,必须有一个WinMain函数,可以在MSDN中查看原型intWI
薛定谔的喵
·
2016-01-19 14:00
古墓丽影崛起最低配置要求介绍
Windows764bit或以上处理器:IntelCorei3-2100orAMDequivalent显卡:NVIDIAGTX6502GBorAMDHD77702GB内存:6GB硬盘空间:25GBDirectX:
DirectX11
佚名
·
2016-01-06 15:31
DirectX11
学习笔记(3)
DirectX11
初始化
一、DirectX知识1、DirectX:是底层图形库的API,支持3D硬件加速,可以通过软件接口来控制图形硬件。2、COM:(组件对象模型)让DirectX能够独立编程并且向后兼容。通常,COM指的是接口,在使用C++进行DirectX编程时,COM的细节是隐藏不可见的。我们获取COM组件接口的指针时是通过调用别的COM组件接口的方法来实现的,我们并不能用C++中的new关键字来创建接口对象,在
qq402335257
·
2015-12-12 14:00
DirectX11
学习笔记(2) 基础数学知识
基础数学知识一、向量1、 向量:向量可以用来表示力,位移,速度等等物理量。此外,还可以用向量来表示方向,例如3d物体的朝向,射线射向的方向等等。向量有这样的特点,判断两个向量相等的条件是大小和方向相等,与位置无关。如u向量和v向量便是相等向量。 2、坐标系:三条两两垂直的坐标轴,提供一个基准点,将向量起点都移动到原点处便于各种计算。在DirectX3D中使用的是左手坐标系,左手坐标系判断方法可
qq402335257
·
2015-11-25 22:00
DirectX11
学习笔记(1) 创建dx11项目
创建一个DirectXDemo程序1、在VS2013下创建一个c++的Win32Project2、在链接器添加DirectX的lib文件 具体操作如下:在解决方案目录下右键选择项目属性,打开配置属性里的链接器,在输入选项填入lib名称。dxgi.libd3d11.libd3dcompiler.libd3dx11.libdxerr.libdxguid.lib 3、VC++目录下填入DirectX的I
qq402335257
·
2015-11-22 15:00
部分GTX系列显卡,在DirectX9下正常,DirectX10与
DirectX11
下经常蓝屏黑屏死机的问题
情况: 1.GTX系列显卡 2.在玩DX9游戏时,没有任何问题。 3.在玩DX10或DX11游戏时,会经常出现蓝屏、黑屏甚至死机的问题。 原因: 1.商家过分要求显卡比分,而把显卡处理能力提高到本来无法承受的范围,超出显卡处理能力。 2.商家不厚道,偷工减料,并且用劣质材料。 3.DX10与DX11的计算量,大于DX9。 解决方案: 1.使用显卡最
·
2015-11-13 02:26
DI
C++
Directx11
开发笔记六:3D空间坐标系变换,绘制3D图形动画
C++
Directx11
开发笔记六:3D空间坐标系变换,绘制3D图形动画 上一篇文章中我们认识了Direct3D中一些空间坐标系,其中包含了几何模型坐标系,世界坐标系,观察坐标系
·
2015-11-11 13:42
C++
Directx11
3D空间坐标系认识
Directx11
3D空间坐标系认识 在前一篇文章中我们知道了顶点着色器和像素着色器的用途,在例子中也知道了如何在3D的坐标系中画一个2D的图像,即画一个三角形,这次我们需要知道如何在3D坐标系中呈现一个
·
2015-11-11 13:40
DI
DirectX11
的Shader Reflect的几个问题(2012-2-22更新)
CSDN贴地址 http://blog.csdn.net/noslopforever/article/details/7269353 很久没有做图形系统的东西了,之前因为家中出了些事情,把精力主要放到了一些杂务和俗务上。最近回过头来看看,离京前的日记里,清楚地标明着,DX11 Shader Reflect的问题还没有解决。 DX9时代带过来的习惯,因为DX9时代的Shader
·
2015-11-11 10:45
reflect
DirectX11
SDK(February 2010)下载
This DirectX SDK release contains updates to tools, utilities, samples, documentation, and runtime debug files for x64 and x86 platforms. For additional information please see Microsoft DirectX D
·
2015-11-11 03:51
sdk
Introdution to 3D Game Programming With
DirectX11
第11章 习题解答
11.1 这道题要注意使用了line strip,由于曾经一直用triangle list,所以在几何渲染的时候easy算错定点描绘的顺序。 贴一些代码,大概就能把这个问题解释清楚了,由于框架还不是特别熟,所以是在原有样例的基础上建立的自己的代码 void TreeBillboardApp::BuildCircleBuffers() { // //Create the v
·
2015-11-02 09:33
programming
DirectCompute & DirectX 11 计算着色器编程简介
而从
DirectX11
开始,DirectX增加了一种计算着色器(Compute Shader),它是专门为与图形无关的通用计算设计的。因此DirectX就变成了一个通用
·
2015-10-31 11:42
com
DirectCompute & DirectX 11 计算着色器编程简介
而从
DirectX11
开始,Dir
·
2015-10-31 11:01
com
Directx11
教程(60) tessellation学习(2)
本教程中,我们开始tessellation编程,共实现了2个程序,第一个tessellation程序,是对一个三角形进行细分操作,第二个程序是对一个四边形进行细分操作,两个程序coding差不多,我们先看第一个程序。 程序代码是在myTutorial
·
2015-10-30 12:52
IO
Directx11
教程(56) 建立一个skydome
本章建立一个skydome(天空穹),主要学习如何使用cube mapping。 cube map就是把六张纹理当作一个cube的六个面,而cube的中心,则是坐标轴,而六个面则是垂直于坐标轴某个轴,如下图所示,在cube mapping中,我们不在使用二维纹理坐标,而是用(u,v,w)三维纹理
·
2015-10-30 12:51
dom
Directx11
教程(57) 环境映射
建好skydome后,如果我们想让其中的某个物体,比如那个球体来映射出周围环境的蓝天白云(不包括自己附近的物体),该怎么做呢?此时可以把这个球体当成一面镜子,把我们视点看这个物体上某个顶点p时的反射向量当作cube map查询向量v,得到纹理texel,然后p点的颜色可以用blend的方式,混合当前颜色和采样的纹理texel,就可以实现
·
2015-10-30 12:51
教程
Directx11
教程(55) 建立球形和锥形物体
本教程中,我们新建2个model class,SphereModelClass以及CylinderModelClass,分别用来表示球形和锥形物体。 程序执行后的界面如下: 线框模式界面如下: 从线框模式可以看出,球形是由三个因素决定:半径、经度线、纬度线。 在SphereModelClass.cpp中,我们
·
2015-10-30 12:51
教程
Directx11
教程(59) tessellation学习(1)
在D3D11管线中,新增加了3个stage, Hull shader, Tessellator, Domain shader,用来实现细分操作,就是在gpu中把低细节的表面细分成高细节的体元。在gpu中把低模通过tessellation转化为高模,在获得高细节模型的同时,可以有效降低把顶点数据从system memory传到 video
·
2015-10-30 12:51
IO
Directx11
教程(53) D3D11管线(8) GS的调度执行
在前面的教程中,我们分析了VS-PS的shader管线组合执行过程,本章我们分析一下VS-GS-PS的管线执行过程,主要是GS阶段hardware何如调度。 参考资料:http://fgiesen.wordpress.com/2011/07/01/a-trip-throug
·
2015-10-30 12:50
教程
Directx11
教程(54) 简单的基于GS的billboard实现
本章我们用一个billboard的实现来学习D3D11中的GS。 在VS shader中,我们输入的是顶点位置及顶点属性,输出的也是顶点位置及顶点属性。在GS shader中,我们输入的是体元(primitive,可以是点,线,三角形等等,凡是D3D11中允许的体元都可以使用), 输出顶点、顶点属性,以及体元信息。 &
·
2015-10-30 12:50
教程
Directx11
教程(20) 一个简单的水面
nnd,以前发的这篇教程怎么没有了?是我自己误删除了,还是被系统删除了? 找不到存稿了,没有心情再写一遍了。 简单说一下,本篇教程就是实现一个水面的动画,主要是利用动态顶点缓冲,在每一帧都改变顶点的值,从而实现水面的动画。主要参考的是《introduction to 3D game programming with d3d10》这本书,但D
·
2015-10-30 12:50
教程
Directx11
教程(67) 显示模型文件
在前面的教程中,我们都是通过在ModelClass中直接产生顶点和索引数据,简单的三角形,立方体等等还好说,毕竟比较简单,如何显示复杂的三维物体呢?特别是利用已有的3D文件,比如obj, 3ds, md2, x等格式的文件,这时,就要利用这些3D格式的解析器,本教程中,我们利用Open Asset Import Library库,来显示
·
2015-10-28 09:52
文件
Directx11
教程(65) 渲染到纹理
通常情况下,我们的render target都是后缓冲,但也可以把render target设置为一个2d 纹理,然后再通过贴图的方式,把这个2d纹理显示出来,这样,就可以在一个屏幕上显示多个场景了。 本教程中,我们在myTutorialD3D11_59的基础上,来实现渲染到纹理的效果。 &nb
·
2015-10-28 09:46
教程
Directx11
教程(63) tessellation学习(5)
TS中生成细分后顶点的u,v,{w}坐标,我们根据控制点和u,w,{w}坐标生成新的顶点位置,在前面四边形的细分中,我们用了双线性差值的方法,得到新的顶点位置,这些新顶点位置都在一个平面上。在本教程中,我们使用参数方程,可以生成多边形,在tess factor增大的情况下,得到近似的球体。 &nbs
·
2015-10-28 09:44
IO
Directx11
教程(64) tessellation学习(6)-PN Triangles
前面我们用tessellation细分三角形或者四边形,产生的细分点都是在三角形或四边形平面内。本教程我们学习一下PN triangles(point normal triangles)的方法,把一个三角形细分为一个曲面。PN triangles的详细介绍请参考:2001 paper by Vlachos et al ,下面我们简单介绍一下PN
·
2015-10-28 09:44
RIA
Directx11
教程(51) 简单的billboard
billboard称作公告板,通常用一个quad(四边形)表示[有的billboard用两个正交的quad表示],它的特点就是始终面向摄像机的方向。在大规模场景渲染中,可以公告板上贴一个纹理,比如树,这样在比较远的场景中,可以用它表示模型数据,从而减少场景中的顶点数量。 &
·
2015-10-28 09:43
教程
Directx11
教程(52) 实例(instancing)的简单应用
有些时候,我们需要在场景中渲染大量的重复的物体,比如体育场中的观众,森林里面的树木等等,这些物体具有相似的形状,比如很多树木,只是位置不同,或者贴图不同而已,如果重复渲染这些树木,用billboard技术,n棵树,就要输入n*4个顶点,在树木很多的时候,这也是比不小的开销,因为每次都要在system memory和gpu之间传输数据。 &
·
2015-10-28 09:43
教程
Directx11
教程(49) stencil的应用-镜面反射
本教程中,我们利用stencil来实现一个镜面反射效果。 1、首先我们要在D3DClass中增加几个成员变量及函数。 ID3D11DepthStencilState* m_depthStencilStateMirror; ID3D11DepthStencilState* m_depthStencilStateReflect; m_dep
·
2015-10-28 09:43
反射
Directx11
教程(45) alpha blend(2)
在myTutorialD3D11_40中,我们在场景中再添加一个box,并把box放在水里,实现半透明的效果。如下图所示: 我们要特别注意一点的就是场景中物体的渲染次序,先渲染山谷、第二个box,第三个水。 box和水的顺序不能颠倒,颠倒后的效果如下,没有了透明的效果: 完整的代码
·
2015-10-28 09:42
Blend
Directx11
教程(47) alpha blend(4)-雾的实现
除了用来实现透明效果之外,我们还可以用alpha blend来实现雾(fog)的效果。通过逐渐清晰的雾气效果,可以增加场景的真实感。 雾的效果实现很简单,首先我们要一种颜色来表示雾,通常使用用灰色。 其实雾的效果和视点有很大关系,距离视点越近
·
2015-10-28 09:42
Blend
Directx11
教程(46) alpha blend(3)
现在我们尝试改变box的贴图,使用一张带alpha的dds文件wirefence.dds, 用directx texture tool打开文件界面如下: 实际上,这幅图中一些像素有alpha值,一些像素alpha值为0,我们点击View-alpha channel o
·
2015-10-28 09:42
Blend
Directx11
教程(44) alpha blend(1)
我们知道,D3D11中按Frame来渲染物体,每个Frame中又可能包含若干个primitive,如下面的示意图所示: gpu在实际渲染中,会按帧来渲染,比如上图frame0中,有两个primitive(三角形),经过vs以后,PA(primitive assemble) block会进行体元装配,然后进行光栅化
·
2015-10-28 09:41
Blend
Directx11
教程41 纹理映射(11)
1、第一副图我们采用各性异性的滤波方式,并设置最大各性异性值为8. samplerDesc.Filter = D3D11_FILTER_ANISOTROPIC; samplerDesc.MaxAnisotropy = 8;  
·
2015-10-28 09:41
教程
Directx11
教程(42) 纹理映射(12)-简单的bump mapping
有时候,我们只有一个粗糙的模型,但是我们想渲染纹理细节,比如一个砖墙,我们如何在只有一个平面的时候,渲染出砖墙凹凸的效果。 比如只有这样的墙: 但是我们想要这样的效果: 怎么办呢?这时候,我们可以考虑对第一张图进行处理,生成它的法向图,存储在一张纹理中,生成法向图的主要算法是:
·
2015-10-28 09:41
mapping
Directx11
教程(43) 纹理映射(13)-动态纹理映射
本篇教程中,我们将在前面基于光照的地形与水面程序里面加上纹理映射,而且我们会基于时间动态改变水面的纹理坐标,实现水面纹理波动的效果。 地形(山谷)以及水面都是基于网格的平面。 对于地形,修改顶点类型为: struct
·
2015-10-28 09:41
教程
Directx11
教程40 纹理映射(10)
本章尝试使用纹理行列式,或者说纹理数组,在ps中,使用2个纹理,最终的像素颜色,是光照颜色*纹理1采样颜色*纹理2采样颜色,主要是想达到如下的效果: 把这两个图像以及光照产生的颜色融合生成以下图像: 为此我们新建一个lighttex2.ps文件,在其中定义: //两个纹理,可用于纹理混合,b
·
2015-10-28 09:40
教程
Directx11
教程38 纹理映射(8)
上篇日志中,我们用纹理和光照颜色调制的方式得到最终颜色,本章我们尝试用纹理采样的颜色,直接做为材质的漫反射系数Kd,并用它来做光照计算,最后再做个gamma校正,如果不做的话,效果会偏亮。 lighttex.ps主要改动代码: float4 textureColor = shaderTextur
·
2015-10-28 09:40
教程
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他