HLSL编程
IIIIIIIIIIIIIOO
这个作者很懒,什么都没留下…
展开
-
HLSL的一些见解
<br /> <br />研究HLSL也有些日子了,其中犯了很多错误,现将沿途所遇略作纪录,以次时刻提醒自己不要重蹈覆辙。<br />1. Effect文件(.fx)是标准格式,要妥善利用其接口与应用程序通讯,理解语意(Semantic)和注释(Annoation)是关键。<br /> <br /><br /> <br />2. HLSL指令集要倒背如流,切不可做出重写标准库的蠢事,当初我就写了一个distance函数来求距离,熟不知标准库里早有这个函数,仔细一研究,标准库里原创 2010-06-21 23:56:00 · 1368 阅读 · 0 评论 -
fxc的使用及shader调试技巧
如果当前使用的版本是dx10的fxc,则当前fxc不支持ps_1_x的shader,在编译该类shader时需加上/Gec,fxc会自动的把ps_1_x版本的shader编译成ps_2_x的版本。当然该shader只能在支持shader2的机器上运行。如果要使用传统版本的fxc即dx9下的fxc,这时要使用/LD,此时就支持ps_1_x到ps_3_x的所有的shader版本。查看所转载 2014-10-13 23:41:35 · 1770 阅读 · 0 评论 -
在VS中让Shader自动编译
将Shader文件加入工程,在文件属性中找到Custom Build Step(自定义生成步骤)设置如下Vertex ShaderCommand Line:"%DXSDK_DIR%\Utilities\Bin\x86\fxc.exe" /nologo /O1 /LD /Zpr /Tps_3_0 /Fo"$(OutDir)\$(InputName).wpu" "$(InputPa转载 2014-10-13 23:42:43 · 1366 阅读 · 0 评论 -
HLSL(High level shading language)
HLSL(High level shading language)语法类似C语言,,下面简单介绍一些基本语法一、变量1、标量型共有五种:bool,half,float,double,int;(由宏定义完成)2、向量型及标量扩展,有下列两种方式:bool1 bVec;int1 iVec;half2 hVec;float3 fVec;double4 dVec;转载 2014-07-29 22:05:45 · 1870 阅读 · 0 评论 -
用Pix调试HLSL
很多学Directx特别初学者最头痛应该是shader的调试问题了。一般的编译器包括vs都不支持shader的调试。还好微软出了个Pix,其功能相当强大,而不仅仅是debug。这里我们入门主要总结下其debug的功能。 Pix的调试原理和一般的调试很不一样,它是先把程序运行一遍,然后把中间每一步所有的shader变量,寄存器等等都记录下来,然后再调出来看,以此模拟Directx的过程。转载 2014-08-01 17:26:12 · 788 阅读 · 0 评论 -
体积雾(dx9)
1.什么是体积雾? 这个问题通过图片来解答再合适不过了,下面是本文利用体积雾做的一个结果 所谓体积雾:顾名思义就是被限制了形状的雾,本文表述如何通过ImageProcess(图象处理)的方式实现体积雾。 2.常规雾原理 雾效最终体现在雾颜色与场景色的混合上。决定雾的浓度的关键就在这个混合因子上转载 2014-07-19 15:08:15 · 1449 阅读 · 0 评论 -
Ogre中实现 几何面正反面不同纹理贴图
首先,我的实现是在OpenGL平台下的。主要是借助GLSL shader语言,在shader中判断是几何面的正面还是反面,然后贴上不同的纹理。最初是在RenderMonkey里实现的,要实现此,需要设置Render State的GL_CullMode为NONE。下面给出很简单shader代码,超级简单,不要见笑。 首先,顶点shader:varying vec2 Texcoord;转载 2014-07-19 15:03:53 · 1621 阅读 · 0 评论 -
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转载 2014-02-17 23:21:13 · 1429 阅读 · 0 评论 -
高级着色语言HLSL入门
高级着色语言HLSL入门(1)在我们写的程序里顶点和像素是很小的对象,它们由GPU来执行,是固定功能管线的一部分。用我们自己写的着色器程序替换一部分固定功能管线,在绘制效果上我们获得很大的灵活性。我们不再局限于预定义的"固定"操作。为了编写着色器程序,我们需要一种高级着色器语言(High-Level Shading Language ,简称HLSL)。 在DirectX 8中,着色器是转载 2012-11-04 21:02:08 · 1946 阅读 · 0 评论 -
Customizing how models build their textures
When the content pipeline builds a model, by default it will use the ModelTextureProcessor to convert all the textures used on that model.There are many reasons why you might want to override this behavior:You might want to change the output texture format原创 2010-08-29 22:51:00 · 662 阅读 · 0 评论 -
用fxc.exe编译shader文件(*.fx, *.hlsl)的设置
原文出自:http://msdn.microsoft.com/en-us/library/windows/desktop/bb509709(v=vs.85).aspx#Profiles 拿DX11 SDK中BasicCompute11为例子右击BasicCompute11.hlsl -> properities -> Custom Build Tool -> command l转载 2014-10-13 23:44:24 · 2502 阅读 · 0 评论