CgFX几何体着色器
如何将几何体着色器与CgFX一起使用?实际上,如何在“技术”中指定几何体着色器 清单如下所示,顶点着色器和片段着色器编译良好。但是,在我向CgFX几何体着色器,cg,geometry-shader,Cg,Geometry Shader,如何将几何体着色器与CgFX一起使用?实际上,如何在“技术”中指定几何体着色器 清单如下所示,顶点着色器和片段着色器编译良好。但是,在我向'technology'添加'GeometryProgram'后,“NVIDIA FX Composer 2.5”会触发一个'error C3001 no program defined' float4x4 WorldITXf : WorldInverseTranspose; float4x4 WorldViewProjXf : WorldViewProjec
'technology'
添加'GeometryProgram'
后,“NVIDIA FX Composer 2.5”会触发一个'error C3001 no program defined'
float4x4 WorldITXf : WorldInverseTranspose;
float4x4 WorldViewProjXf : WorldViewProjection;
float4x4 WorldXf : World;
struct appdata
{
float4 Position : POSITION;
float4 Color : COLOR0;
};
struct vertexOutput
{
float4 Position : POSITION;
float4 Color : COLOR0;
};
TRIANGLE void gshader1(AttribArray<float4> pos : POSITION,
AttribArray<float4> col : COLOR0)
{
// some code will be here;
}
vertexOutput vshader1(appdata IN)
{
vertexOutput OUT;
float4 Po = float4(IN.Position.xyz,1.0f);
OUT.Position = mul(WorldViewProjXf, Po);
OUT.Color = IN.Color;
return OUT;
}
float4 fshader1(vertexOutput IN) : COLOR
{
return IN.Color;
}
technique Tec1 {
pass p0 {
GeometryProgram = compile glslg gshader1();
VertexProgram = compile glslv vshader1();
FragmentProgram = compile glslf fshader1();
}
}
float4x4 WorldITXf:WorldInverseTransfose;
float4x4 WorldViewProjXf:WorldViewProjection;
浮动4x4 WorldXf:世界;
结构appdata
{
浮动位置4:位置;
float4颜色:COLOR0;
};
结构顶点输出
{
浮动位置4:位置;
float4颜色:COLOR0;
};
三角形空隙gshader1(属性阵列位置:位置,
属性阵列列:颜色0)
{
//这里会有一些代码;
}
顶点输出vshader1(appdata输入)
{
垂直输出;
浮动4 Po=浮动4(在位置xyz,1.0f);
OUT.Position=mul(WorldViewProjXf,Po);
OUT.Color=IN.Color;
返回;
}
float4 fshader1(顶点输出输入):颜色
{
返回。颜色;
}
技术Tec1{
通过p0{
GeometryProgram=编译glslg gshader1();
VertexProgram=编译glslv vshader1();
FragmentProgram=编译glslf fshader1();
}
}
已解决。'glslg'
配置文件出现问题,将其更改为'gp4gp'
可以解决此问题。已解决。'glslg'
配置文件出现问题,将其更改为'gp4gp'
可以解决此问题