HLSL Effect的vertex shader和pixel shader的参数传递
来源:互联网 发布:淘宝物品怎么发链接 编辑:程序博客网 时间:2024/05/22 14:35
HLSL基本以C语言的习惯来写的,但是如果完全以C语言的角度来看,我个人感觉入门最难理解就是顶点着色器和像素着色器的两个函数的参数传递了。
下面以最简单的HLSL中效果框架举例说下自己的理解。
uniform extern float4x4 gWVP;
struct OutputVS
{
float4 posH : POSITION0;
float4 color : COLOR0;
};
OutputVS ColorVS(float3 posL : POSITION0, float4 c : COLOR0)
{
// Zero out our output.
OutputVS outVS = (OutputVS)0;
// Transform to homogeneous clip space.
outVS.posH = mul(float4(posL, 1.0f), gWVP);
// Just pass the vertex color into the pixel shader.
outVS.color = c;
// Done--return the output.
return outVS;
}
float4 ColorPS(float4 c : COLOR0) : COLOR
{
return c;
}
technique ColorTech
{
pass P0
{
// Specify the vertex and pixel shader associated with this pass.
vertexShader = compile vs_2_0 ColorVS();
pixelShader = compile ps_2_0 ColorPS();
}
}
{
return c;
}
如上像素着色器的float4 c : COLOR0则来自于OutputVS中的float4 color : COLOR0;
像素着色器再输出计算得到的每个像素的颜色值,就是我们在屏幕看到的结果了。
- HLSL Effect的vertex shader和pixel shader的参数传递
- HLSL Effect的vertex shader和pixel shader的参数传递
- HLSL Effect的vertex shader和pixel shader的参数传递 .
- 出现在vertex shader和pixel shader 的同名Uniform的type和value需相同
- Vertex Shader & Pixel Shader 介绍
- Vertex Shader & Pixel Shader
- Vertex Shader & Pixel Shader 介绍
- Vertex Shader&Pixel Shader介绍
- 3D图形学一:模仿草的运动 – GPU(Pixel Shader & Vertex Shader)实现
- 模仿草的运动 – GPU(Pixel Shader & Vertex Shader)实现(转)
- shaders for game programmers and artists 第一张 关于vertex shader 和 pixel shader 的翻译/猜译 (以助记忆)
- pixel-shader的分形
- vertex shader的输出、被插值后变成fragment shader的输入
- shader 2: vertex, fragment, surf的区别
- Pixel Shader 2.x 的问题
- Vertex Shader
- Vertex Shader
- Vertex Shader
- 《连线》创始人畅谈网络:静态网页不会灭绝
- PHP截取中文字符串方法总结
- php扫马、内网查mysql数据库账号密码(内网webshell渗透)
- Android Map开发基础知识学习笔记
- 54点提高PHP编程效率 引入缓存机制提升性能
- HLSL Effect的vertex shader和pixel shader的参数传递
- cvxzcv
- ——>梦想这东西和经典一样,只会越来越珍贵<——
- Ruby源文件指引
- Ruby用6行搞定P2P
- 一个有意思的Ruby脚本
- 和优秀的人在一起,你会出类拔萃
- mysql相关的数据源
- 正则表达式