Code: Select all
---------------------------
An exception has occurred!
---------------------------
OGRE EXCEPTION(2:InvalidParametersException): Could not create gpu programs from render state in ProgramManager::acquireGpuPrograms at ..\..\..\Components\RTShaderSystem\src\OgreShaderProgramManager.cpp (line 112)
---------------------------
OK
---------------------------
Thats the generated shader:
Code: Select all
//-----------------------------------------------------------------------------
// Program Type: Vertex shader
// Language: hlsl
// Created by Ogre RT Shader Generator. All rights reserved.
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// PROGRAM DEPENDENCIES
//-----------------------------------------------------------------------------
#include "FFPLib_Transform.hlsl"
#include "FFPLib_Common.hlsl"
#include "FFPLib_Texturing.hlsl"
//-----------------------------------------------------------------------------
// GLOBAL PARAMETERS
//-----------------------------------------------------------------------------
float4x4 worldviewproj_matrix;
float3 lod_camera_position;
//-----------------------------------------------------------------------------
// Function Name: main
// Function Desc: Vertex Program Entry point
//-----------------------------------------------------------------------------
void main
(
in float4 iPos_0 : POSITION,
in float2 iTexcoord2_0 : TEXCOORD0,
out float4 oPos_0 : POSITION,
out float2 oTexcoord2_0 : TEXCOORD0,
out float2 oTexcoord2_1 : TEXCOORD1
)
{
float4 lLocalParam_0;
float4 lLocalParam_1;
FFP_Transform(worldviewproj_matrix, iPos_0, oPos_0);
FFP_Construct(1.0, 1.0, 1.0, 1.0, lLocalParam_0);
FFP_Construct(0.0, 0.0, 0.0, 0.0, lLocalParam_1);
FFP_TransformTexCoord(lod_camera_position, iTexcoord2_0, oTexcoord2_0);
FFP_Assign(iTexcoord2_0, oTexcoord2_1);
}
Code: Select all
Cannot assemble D3D9 high-level shader 3966944195_VS Errors:
D:\ogre\Build\bin\Debug\memory(43,2): error X3017: 'FFP_TransformTexCoord': cannot implicitly convert from 'const float3' to 'column_major float4x4'
Edit:
Here the fix:
Code: Select all
diff --git a/Components/RTShaderSystem/src/OgreShaderParameter.cpp b/Components/RTShaderSystem/src/OgreShaderParameter.cpp
--- a/Components/RTShaderSystem/src/OgreShaderParameter.cpp
+++ b/Components/RTShaderSystem/src/OgreShaderParameter.cpp
@@ -281,6 +281,7 @@
AutoShaderParameter(GpuProgramParameters::ACT_TEXTURE_WORLDVIEWPROJ_MATRIX, "texture_worldviewproj_matrix", GCT_MATRIX_4X4),
AutoShaderParameter(GpuProgramParameters::ACT_TEXTURE_WORLDVIEWPROJ_MATRIX_ARRAY, "texture_worldviewproj_matrix_array", GCT_MATRIX_4X4),
AutoShaderParameter(GpuProgramParameters::ACT_SPOTLIGHT_VIEWPROJ_MATRIX, "spotlight_viewproj_matrix", GCT_MATRIX_4X4),
+ AutoShaderParameter(GpuProgramParameters::ACT_SPOTLIGHT_VIEWPROJ_MATRIX_ARRAY, "spotlight_viewproj_matrix_array", GCT_MATRIX_4X4),
AutoShaderParameter(GpuProgramParameters::ACT_SPOTLIGHT_WORLDVIEWPROJ_MATRIX, "spotlight_worldviewproj_matrix", GCT_MATRIX_4X4),
AutoShaderParameter(GpuProgramParameters::ACT_CUSTOM, "custom", GCT_FLOAT4), // *** needs to be tested
AutoShaderParameter(GpuProgramParameters::ACT_TIME, "time", GCT_FLOAT1),
@@ -325,6 +326,7 @@
AutoShaderParameter(GpuProgramParameters::ACT_TEXTURE_MATRIX, "texture_matrix", GCT_MATRIX_4X4),
AutoShaderParameter(GpuProgramParameters::ACT_LOD_CAMERA_POSITION, "lod_camera_position", GCT_FLOAT3),
AutoShaderParameter(GpuProgramParameters::ACT_LOD_CAMERA_POSITION_OBJECT_SPACE, "lod_camera_position_object_space", GCT_FLOAT3),
+ AutoShaderParameter(GpuProgramParameters::ACT_LIGHT_CUSTOM, "light_custom",GCT_FLOAT1)
};
//-----------------------------------------------------------------------