
Direct3D
文章平均质量分 90
pizi0475
这个作者很懒,什么都没留下…
展开
-
Adaptive Scalable Texture Compression
OverviewAdaptive Scalable Texture Compression (ASTC) is an advanced lossy texture compression technology developed by Arm and AMD.This guide provides information about how you can use ASTC effectively to optimize the performance of your apps. In partic转载 2020-12-14 17:44:38 · 4233 阅读 · 7 评论 -
Using ASTC Texture Compression for Game Assets
By David Chait, Tegra Developer TechnologySince the dawn of the GPU, developers have been trying to cram bigger and better textures into memory. Sometimes that is accomplished with more RAM but more often it is achieved with native support for compres.转载 2020-12-14 15:12:04 · 2510 阅读 · 0 评论 -
What is Write-Combined memory
http://makble.com/what-is-writecombined-memoryWhat is Write-Combined memoryWrite-Combining can batches writes to the same cache line so they can be transferred in a single bus clock.The data will be combined and stored in the write combine buffer, an转载 2020-08-03 18:08:25 · 4358 阅读 · 1 评论 -
DX12 Do's And Don'ts
https://developer.nvidia.com/dx12-dos-and-dontsIntroductionThe DX12 API places more responsibilities on the programmer than any former DirectX™ API. This starts with resource state barriers and...转载 2020-03-13 21:13:58 · 4128 阅读 · 0 评论 -
Direct3D 12 In Depth
https://www.anandtech.com/show/7889/microsoft-announces-directx-12-low-level-graphics-programming-comes-to-directx/2Direct3D 12 In DepthThis brings us to Direct3D 12, which is Microsoft’s entry in...转载 2020-03-13 21:05:15 · 2806 阅读 · 0 评论 -
渲染管道
渲染管道 它是用来创建为3D世界进行几何描述的2D图形并设定一个虚拟摄相机确定这个世界中哪一部分将被透视投影到屏幕上 D3D中最基础的东西——顶点渲染,这个东西就和2D游戏中的画点是一个道理,重要性就不多说了,一个字,“太重要了!”。 渲染的基本步骤是这样的: (1) 定义顶点格式和FVF (2) 创建顶点缓冲区并填充之 (3) 用D3D进行渲染转载 2009-06-02 09:28:00 · 3128 阅读 · 0 评论 -
骨骼动画导论
先说明,这篇文章由我翻译自Evan Pipho的>一书的内关于骨骼动画第五章的内容,去掉了前面的说明和最后的Demo说明,包含了所有的理论内容,转载请注明出处,谢谢!理解骨骼动画骨骼动画是使用”骨头”来运动一个模型而不是通过手动编辑和移动每个顶点或面而实现的动画.每个顶点被附着到一根骨头(或有时是多根骨头).一根骨头或一个关节只是一组顶点的一个控制点.这些概念类似于我们身体里的关节,例如我们的膝关转载 2009-06-09 11:12:00 · 3218 阅读 · 0 评论 -
在Direct3D程序中运用碰撞检测
在Direct3D程序中运用碰撞检测 几乎所有的3D游戏都离不开碰撞检测——无论是各物体之间的碰撞检测,还是物体与场景之间的碰撞检测。在真实世界中,你是很自然地不能穿墙而过的,所以很多人在玩各种3D游戏的时候自然而然的忽视了碰撞检测这一过程的存在。然而,碰撞检测的过程是重要的。如果没有它,你在CS中就会毫无遮拦的飞来飞去——如果考虑重力的话,则会一直不停地往下掉,转载 2009-06-19 13:58:00 · 1765 阅读 · 0 评论 -
DX中关于背面剔除概念的澄清!
最近在渲染地形时发现把背面剔除模式设为CCW结果我的地形正面就显示不出来了!知道是网格编织顺序出了问题(但我记得我的网格是按顺时针编织的),为了彻底将这一问题搞明白,去查了下DX 的SDK,结果发现里面讲得一团糟!上网搜了下,发现有不少人对这个问题也没搞清楚.于是重新看了下André LaMothe的软件引擎.在这里作一下总结. DX可以设置为对顺时针三角形剔除(CW),对逆转载 2010-02-26 17:22:00 · 1726 阅读 · 0 评论 -
基于Direct3D实现简单的粒子系统
这是一个基于D3D的基本的粒子系统,能够实现一些基本的效果,如:雨、雪、烟花等。代码很少,只有一个头文件和一个CPP文件,便于研究粒子系统的原理。EpParticleSystem.h: #ifndef _EPPARTICLESYSTEM_H_ #define _EPPARTICLESYSTEM_H_ #include #include struct EpParticle {转载 2010-03-03 17:25:00 · 1883 阅读 · 2 评论 -
基于Direct3D实现简单的粒子系统(二) - 增加LUA脚本支持
之前已经创建了一个简单的粒子系统(点这里 ),但是使用起来还是不是很方便,这次的任务就是为这个系统增加脚本支持。使用脚本来定义粒子系统的各项属性,再从主程序中将这些属性读出来,创建粒子系统。我对小巧简洁的东西有种特殊的喜好,因此我选择了Lua语言。Lua与C的交互需要频繁的操作栈,使用起来并不是很方便,因此先简单的封装一下,可以不用直接操作栈就可以了。 下面的这个类用于加载一个转载 2010-03-03 17:27:00 · 1626 阅读 · 0 评论 -
Direct 3D骨骼动画
第一,了解骨骼结构(Skeletal Structures)和骨层级(Bone Hierarchies):骨骼结构就是连续很多的骨头(Bone)相结合,形成的骨层级。第一个骨头叫做根骨(root bone),是形成骨骼结构的关键点。其它所有的骨骼作为孩子骨(child bone)或者兄弟骨(sibling bone)附加在根骨之上。所谓的“骨”用一个帧(frame)对象表示。在Directx中转载 2010-03-03 16:49:00 · 3217 阅读 · 0 评论 -
在OGRE中使用HLSL
转载:http://stdsoft.blogbus.com/logs/36002820.html在OGRE中使用HLSL HLSL着色器在Ogre中的使用非常像其它着色语言(比如Cg,GLSL)的使用情况,但是有一点小小的不同,我将针对这个不同点作出解释。首先,使用着色器的材质的声明应该像如下材质声明的例子那样:material Test13/RockWall{转载 2010-03-17 10:55:00 · 2068 阅读 · 0 评论 -
HLSL固有函数 【Intrinsic Functions (DirectX HLSL)】
Intrinsic Functions (DirectX HLSL)The following table lists the intrinsic functions available in HLSL. Each function has a brief description, and a link to a reference page that has more detail abou转载 2010-03-17 10:56:00 · 2397 阅读 · 0 评论 -
D3DAPI大全,全部函数
//Direct3D 9.0 SDK 开发参考Direct3D 9.0 SDK 文档 (中文版) 词汇表 DirectX 8 教程[helpcontext(0x00014471)]HRESULT _stdcall CopyRects( [in] Direct3DSurface8* SourceSurface, [in] void* Fi转载 2010-03-17 11:01:00 · 6212 阅读 · 0 评论 -
HDR光照范例
翻译:李林昆Email:DFZ@km169.net¡¡(说明:本人第一次翻译,英文水平太差,文中错误肯定不少,望读者见谅,翻译此文,实属想了解这方面的知识,在此献上,仅供参考) 这个例子示范了使用浮点纹理的一些HDR光照效果。整数纹理格式具有离散的极限范围,其结果在动态光照条件下会丢失一些色彩信息;相反,浮点格式能储存很大或很小的色彩值,包括超出可显示范围的0.0到1.0。这个转载 2010-03-19 09:49:00 · 1980 阅读 · 0 评论 -
深入理解Direct3D9
转自:http://www.cnblogs.com/effulgent/archive/2009/02/10/1387438.html深入理解D3D9对图形程序员来说意义重大,我把以前的一些学习笔记都汇总起来,希望对朋友们有些所帮助,因为是零散笔记,思路很杂,还请包涵。其实只要你能完美理解D3DLOCK、D3DUSAGE、D3DPOOL、LOST DEVICE、QUERY、Present(转载 2010-03-22 16:39:00 · 1389 阅读 · 0 评论 -
Direct3D中实现图元的鼠标拾取
索引:1、什么是拾取,拾取能做什么?2、拾取操作的步骤和实现 2.1. 变换并获得通过视点和屏幕上点击点的射线矢量(Dir) 2.1.1 确定鼠标选取点的屏幕坐标 2.1.2 得到Dir在观察坐标空间内的表示 2.1.3 转换Dir到世界坐标空间,并得到观察点在世界坐标系中的坐标 2.2 使用射线矢量对场景中的所有转载 2010-03-25 10:15:00 · 1637 阅读 · 0 评论 -
Direct3D中常用的数学计算方法总结
头文件:d3dx9math.h1.结构体D3DXVECTOR3 说明:用以表示3D向量 相关方法: +、-、*、/均已重载 FLOAT D3DXVec3Length(CONST D3DXVECTOR3* pV) 计算向量长度 D3DXVECTOR3* WINAPI D3DXVec3Normalize(D3DXVECTOR3* pOut,CONST D3DXVECTOR3* pV) 向量转载 2010-04-07 11:00:00 · 2167 阅读 · 0 评论 -
Direct3D中透明渲染的总结
1.渲染的先决条件打开ALPHA渲染m_pd3dDevice->SetRenderState(D3DRS_ALPHABLENDENABLE, true); 对于通过程序顶点构造的多边形渲染时必须开启ALPHA通道m_pd3dDevice->SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE); 设置为普通Alpha混合m转载 2010-04-07 11:02:00 · 2565 阅读 · 0 评论 -
GPU技术趋势
现代技术允许今天的处理器设计者把极大的计算资源合并入最新的芯片中。这些体系结构的挑战是把能力的增加转换成性能的增加。过去十年图形处理器的发展表明,GPU设计者令人吃惊地完成了这项任务。在本章中,我们分析影响GPU构建方式的技术和体系结构的趋势,以及在未来可以预计的情况。29.1 技术趋势作为计算机用户,我们已经习惯了与上一代相比,每一代新计算机硬件都运行得更快,也有了更多的功能,而且通常转载 2010-04-07 11:04:00 · 2732 阅读 · 0 评论 -
一种软阴影的实现方法
软阴影www.GameDev.net 作者:Anirudh.S Shastry http://www.gamedev.net/reference/articles/article2193.asp译者:赟赟带图片的word文档在附件中 介绍最初,动态阴影技术只有在有限的几种情况下才能实现。但是,随着强大的可编程图形硬件的面世,动态阴影技术已经完全取代了以前的如light map这样的静态阴转载 2010-04-07 11:06:00 · 2481 阅读 · 0 评论 -
Shadow Map在DirectX9.0 SDK Sample 的实现方法
作者:李剑鹏Email:kalashnikov2986@163.com GameRes游戏开发资源网http://www.gameres.com 授权发表 一.前言这个教程主要面对DirectX9.0的初学者,文中代码说明部分以DirectX9.0c SDK(August2006)中的ShadowMap Sample 为例进行讲解。如果没有D3D矢量运算基础,HLSL,或是对D转载 2010-04-07 11:13:00 · 2401 阅读 · 0 评论 -
ShadowMap的实现 -- 正中要害简化版
经过一天断断续续对SDK例子的学习.我终于自己实现了ShadowMap…下面总结一下学习的心得.先简要概括一下实现ShadowMap的步骤,首先在灯光视角下对需要渲染阴影的场景进行渲染, 通过特殊的shader把整个场景的深度值储存到一张浮点纹理上, 然后在观察视角正常渲染整个场景,渲染的时候通过特定的shader将场景的每个象素的深度值与上一步中得到的深度值进行比较.就能渲染出场景的阴影. 简转载 2010-04-07 11:16:00 · 1489 阅读 · 0 评论 -
d3d中实现简单的水
d3d中实现简单的水1. 最简单的一张带alpha的贴图直接uv动画2. 另一种是使用序列贴图, 即水的动画贴图,可在每个自定义大小的格子播放相同的一帧图片来实现.3. 反射水面: 上述其中一种方法再加上带bump map效果的反射图 下面给出最后一种具体例子: 用d3d固定管道实现bump mapping振动/移动的水: (注意:该例子只用D3DTOP_B转载 2010-04-07 11:17:00 · 2378 阅读 · 0 评论 -
实时阴影技术
7.2 实时阴影技术 在游戏中为了实现更逼真的自然效果,就要体现游戏场景中光与影的效果,有时候光影效果会是游戏中的一个主要成分,能极大地改变玩家的游戏体验,如图7-5所示。图7-5 游戏中的实时阴影7.2.1 阴影体在3D动作游戏中,GPU往往要面对绘制大量光影效果的场景,而游戏的光影效果越复杂,提供的视觉真实感就越好。但复杂的光影计算往往需要耗费大量的计算资源,导致转载 2010-04-07 11:19:00 · 3046 阅读 · 0 评论 -
Direct3D模板技术
网络游戏客户端编程 学习目标1.掌握模板的概念2.掌握模板的使用方法3.掌握阴影体的概念4.掌握实时阴影的技术实现知识背景1.掌握D3D程序的基本框架2.掌握D3D基本图形的绘制本章要点1.模板缓冲2.阴影体3.实时阴影的技术实现引 言在现在的3D游戏中,有一项特效是非常重要的,那就是阴影。可以说阴影是游戏仿真度的一个非常重要的指标转载 2010-04-07 11:21:00 · 2814 阅读 · 1 评论 -
通过渲染到浮点纹理实现三维对象拾取
来源: 作者:梁成、张嘉华 摘要(Abstract)本文介绍了一种在GPU上实现的,通过将坐标信息和对象指针绘制到一张RenderTargert浮点纹理的三维对象拾取方法。该方法能够在约半帧的渲染时间内拾取包括对象指针坐标等信息,可以达到与屏幕象素大小同等的精确度。关键字(Keywords): 图元拾取、GPU、Shader RTT(渲染到纹理)、浮点纹理图1:Mouse Pick转载 2010-04-07 11:24:00 · 2821 阅读 · 1 评论 -
Direct3D渲染到纹理
内容 渲染到纹理是D3D中的一项高级技术。一方面,它很简单,另一方面它很强大并能产生很多特殊效果。 比如说发光效果,环境映射,阴影映射,都可以通过它来实现。渲染到纹理只是渲染到表面的一个延伸。我们只需再加些东西就可以了。首先,我们要创造一个纹理,并且做好一些防范措施。第二步我们就可以把适当的场景渲染到我们创建的纹理上了。然后,我们把这个纹理用在最后的渲染上。·main.cpp 首先我们得声明所转载 2010-04-07 11:25:00 · 1905 阅读 · 0 评论 -
关于RenderTarget的二三事
日志分享给好友复制网址隐藏签名档小字体 上一篇 下一篇 返回日志列表 关于RenderTarget的二三事 编辑 | 删除 | 权限设置 | 更多▼更多▲ 设置置顶 推荐日志 转为私密日志 痞子龙/wx 发表于2009年08月02日 16:11 阅读(10) 评论(0) 分类: GPU转载 2010-04-07 11:27:00 · 1899 阅读 · 0 评论 -
高光贴图+法线贴图
日志分享给好友复制网址隐藏签名档小字体 上一篇 下一篇 返回日志列表 高光贴图+法线贴图 编辑 | 删除 | 权限设置 | 更多▼更多▲ 设置置顶 推荐日志 转为私密日志 痞子龙/wx 发表于2009年07月27日 20:58 阅读(16) 评论(1) 分类: GPU 权限: 公开转载 2010-04-07 11:30:00 · 6835 阅读 · 1 评论 -
顶点声明
从概念上讲,顶点声明是对顶点直接内存访问(DMA)以及图形流水线的 tessellator 引擎进行编程的一种方法。顶点声明简要地表示了数据的布局及 tessellator 操作。为了解决Microsoft® DirectX® 8.x中顶点声明的复杂性和可扩展性,9.0版引入了用来表示顶点数据流的新格式。 顶点着色器和顶点声明不再是在Cr转载 2010-04-07 11:31:00 · 2693 阅读 · 0 评论 -
用顶点着色器实现渐变动画
日志分享给好友复制网址隐藏签名档小字体 上一篇 下一篇 返回日志列表 用顶点着色器实现渐变动画2.3.1渐变动画(Morphing) Morphing渐变是20世纪90年代出现的一种革命性的计算机图形技术,该技术使得动画序列平滑且易于处理,即使在低档配置转载 2010-04-07 11:34:00 · 2212 阅读 · 0 评论 -
创建顶点声明
我们已经使用自由顶点格式(flexible vertex format,FVF)来描述顶点结构中的各分量。但是,在可编程管线中,顶点数据包含的数据比用FVF所能表达的多很多。因此,我们通常使用更具表达性并且更强大的顶点声明(vertex declaration)。注意:如果FVF能够描述我们的顶点格式我们仍然可以在可编程管线中使用它。不管用何种方法,只是为了方便,同样FVF会在内部被转换为一个转载 2010-04-07 11:35:00 · 1895 阅读 · 0 评论 -
将顶点着色器与顶点声明分离
在Microsoft DirectX 9.0中,顶点着色器和顶点声明不再是在创建顶点着色器(CreateVertexShader)的时候绑定在一起。对着色器的验证已经被分成两部分,一部分在顶点着色器创建时执行,另一部分在绘制(DrawPrimitive)时执行。把DirectX 8.x的顶点声明映射到DirectX 9.0的顶点声明 把FVF码映射到DirectX 9.0的顶点声明转载 2010-04-07 11:36:00 · 3178 阅读 · 0 评论 -
directx + hlsl实现水面效果
假期没事干,就自己找了点事情干,做个水面的效果,曾经在网上看到好多人做的水面都很漂亮,那时,心里就暗暗较劲,自己什么时候也能做出这样完美的水面呢?花费了3天时间研究书和网站上的方法,终于做出比较不错的水面了。。。以下是愚的简单方法,不一定完全正确,而且我觉得找到一个好的波动方程真的是看人品的。。。网上的东西试验过了,最后还是自己结合起来写了一个波动方程。。。很简单粗糙的,不过效果不错~1、自己第一转载 2010-04-07 11:37:00 · 4376 阅读 · 0 评论 -
DX9 Update中的HDRLighting Sample分析
这里着重分析整个渲染过程,至于HDR就不介绍了。(下面是流程图) HDR的流程大概为:1,使用高亮度渲染场景,并保存为浮点数纹理。- 应用HDR环境贴图。- 应用高范围的材质,光源和照明模型。(即不必被局限在0~1里)2,将高亮区域取出,保存为浮点数纹理。- 在pixel shader里判断该像素的亮度是否大于阀值。vec3 color = texture转载 2010-04-07 11:38:00 · 2979 阅读 · 0 评论 -
Direct3D提高篇之:HLSL编程实现PhotoShop滤镜效果
Direct3D提高篇之:HLSL编程实现PhotoShop滤镜效果潘李亮 2007-3-16xheartblue@163.com关于学习,中国有句古话叫“学以致用”,可见把学到的东西用于实际实践中是多么的重要,现在学习Direct3D/HLSL的人非常多,教程也非常多。但是很多人不知道看完这些教程后该干什么,或者说可以怎么利用学到的知识,本文针对已经学习过Direct3D/HLS转载 2010-04-07 13:06:00 · 3021 阅读 · 0 评论 -
HLSL实现镜面反射光照模型
镜面反射颜色计算公式:color = AIntensity * Acolor * Amaterial+ DIntensity * Dcolor * N dot L * Dmaterial+ SIntensity * Scolor * R dot V * SmaterialN 是漫反射顶点法向量 ,L是漫反射入射光向量的反向量,V是镜面反射的观察点向量(从被观察点指向观察点),R是镜面反转载 2010-04-07 13:10:00 · 2405 阅读 · 2 评论 -
HLSL实现环境光光照模型
环境光光照模型公式:I =Aintensity(环境光强度)* AColor(环境光颜色)* Amaterial(物体对环境光各颜色成分的反射系数)如果场景中包含有漫反射和镜面反射光,则公式为:Color = Aintensity * AColor + Diffuse + Speculardiffuse 和specular分别是漫反射和镜面反射光照公式的占位符1.顶点渲染器转载 2010-04-07 13:11:00 · 2386 阅读 · 0 评论