I´ve learned that (small) bugs, bad usability and inconsitent documentation can fail a whole project. Even though it is a great tool...
And btw. you really should rest between your hard coding days...

Code: Select all
22:35:43: Can't assign material 1 - Default to SubEntity of SPT_SkyBox_Tex_Ent because this Material does not exist. Have you forgotten to define it in a .material script?
22:35:44: WARNING: material SPT_Highlands has no supportable Techniques and will be blank.
Code: Select all
22:53:52: Can't assign material 1 - Default to SubEntity of SPT_SkyBox_Tex_Ent because this Material does not exist. Have you forgotten to define it in a .material script?
22:53:53: OGRE EXCEPTION(7:InternalErrorException): Cannot load GL vertex program SPT2_Low_VS. Line -1:
line 38, column 24: warning: EXT_vertex_weighting and ARB_vertex_blend not supported. Using generic vertex attribute 1.
in SPT2_Low_VS at OgreGLGpuProgram.cpp (line 219)
22:53:53: Gpu program SPT2_Low_VS encountered an error during loading and is thus not supported.
Much appreciated. Basically, to get it working, I think you just need to add an "import * from SPT2_Mat.material" at the top of SPT_Highlands.material and it should comply.mysterycoder wrote:Cool, thanks for the info.
I re-compiled Shoggoth without the new compiler and the demo runs great.
I'm going to re-re-compile it with the new material compiler and look into the material changes.
Code: Select all
import BasicObject from "BasicObject.material"
Code: Select all
import SPT2_Low from "SPT2_Mat.material"
Code: Select all
20:56:57: Mesh: Loading cube.mesh.
20:56:57: Can't assign material 1 - Default to SubEntity of SPT_SkyBox_Tex_Ent because this Material does not exist. Have you forgotten to define it in a .material script?
20:56:57: WARNING: Texture instance 'SPT_SkyBox_Tex' was defined as manually loaded, but no manual loader was provided. This Resource will be lost if it has to be reloaded.
20:56:57: WARNING: Texture instance 'SPT_SkyBox_Tex' was defined as manually loaded, but no manual loader was provided. This Resource will be lost if it has to be reloaded.
20:56:57: Creating viewport on target 'rtt/142931432/SPT_Lightmap_RTT', rendering from camera 'SPT_Lightmap_Camera', relative dimensions L: 0.00 T: 0.00 W: 1.00 H: 1.00 ZOrder: 0
20:56:57: Viewport for camera 'SPT_Lightmap_Camera', actual dimensions L: 0 T: 0 W: 2048 H: 2048
20:56:57: WARNING: Texture instance 'SPT_Heightmap_Tex' was defined as manually loaded, but no manual loader was provided. This Resource will be lost if it has to be reloaded.
20:56:58: Mesh: Loading ogrehead.mesh.
20:56:58: Texture: WeirdEye.png: Loading 1 faces(PF_R8G8B8,256x256x1) with 5 generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
20:56:58: Texture: GreenSkin.jpg: Loading 1 faces(PF_R8G8B8,256x256x1) with 5 generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
20:56:58: Texture: spheremap.png: Loading 1 faces(PF_R8G8B8,256x256x1) with 5 generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
20:56:58: Texture: Dirt.jpg: Loading 1 faces(PF_R8G8B8,256x256x1) with 5 generated mipmaps from Image. Internal format is PF_X8R8G8B8,256x256x1.
20:56:58: *** Initializing OIS ***
20:56:58: WARNING: Texture instance 'SPT_Lightmap_RTT' was defined as manually loaded, but no manual loader was provided. This Resource will be lost if it has to be reloaded.
20:56:58: WARNING: Texture instance 'SPT_Ext_Tex' was defined as manually loaded, but no manual loader was provided. This Resource will be lost if it has to be reloaded.
20:56:58: WARNING: Texture instance 'SPT_Lightmap_RTT' was defined as manually loaded, but no manual loader was provided. This Resource will be lost if it has to be reloaded.
20:56:58: Texture: Highlands_Coverage.jpg: Loading 1 faces(PF_R8G8B8,2048x2048x1) with 5 generated mipmaps from Image. Internal format is PF_X8R8G8B8,2048x2048x1.
20:56:58: Texture: Highlands_Splat.dds: Loading 1 faces(PF_DXT5,2048x2048x1) with 11 custom mipmaps from Image. Internal format is PF_DXT5,2048x2048x1.
20:56:58: Texture: herbe_3.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with 5 generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
20:56:58: Texture: herbe_5.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with 5 generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
20:56:58: Texture: sand_025.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with 5 generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
20:56:58: Texture: detail_splat1.png: Loading 1 faces(PF_R8G8B8,512x512x1) with 5 generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
20:56:58: Texture: Detail3.jpg: Loading 1 faces(PF_R8G8B8,512x512x1) with 5 generated mipmaps from Image. Internal format is PF_X8R8G8B8,512x512x1.
20:56:58: WARNING: Texture instance 'SPT_Ext_Tex' was defined as manually loaded, but no manual loader was provided. This Resource will be lost if it has to be reloaded.
20:56:58: OGRE EXCEPTION(7:InternalErrorException): Cannot load GL vertex program SPT2_Low_VS. Line -1:
line 38, column 24: warning: EXT_vertex_weighting and ARB_vertex_blend not supported. Using generic vertex attribute 1.
in SPT2_Low_VS at OgreGLGpuProgram.cpp (line 219)
20:56:58: Gpu program SPT2_Low_VS encountered an error during loading and is thus not supported.
20:56:58: Texture: brush0.png: Loading 1 faces(PF_R8G8B8,64x64x1) with 5 generated mipmaps from Image. Internal format is PF_X8R8G8B8,64x64x1.
Code: Select all
vertex_program SPT2_Low_VS cg
{
source SPT2_Low.source
entry_point vs_main
profiles vs_2_0 arbvp1
default_params
{
param_named_auto matWorldViewProj worldviewproj_matrix
param_named_auto matWorld world_matrix
param_named_auto vViewPosition camera_position 0
param_named_auto morphFactor custom 77
//param_named_auto parentUVOffset custom 99
}
}
fragment_program SPT2_Low_PS cg
{
source SPT2_Low.source
entry_point ps_main
profiles ps_2_0 arbfp1
compile_arguments -DUSE_SCATTERING
}
Code: Select all
void vs_main(
float4 Pos : POSITION,
float2 Tex : TEXCOORD0,
float2 Tex2 : TEXCOORD1,
float delta : BLENDWEIGHT,
out float4 oPos : POSITION,
out float2 oTex : TEXCOORD0,
out float4 oSplat12 : TEXCOORD1,
out float4 oSplat34 : TEXCOORD2,
out float2 oDetail : TEXCOORD3,
out float4 oDepth : TEXCOORD4,
uniform float4x4 matWorldViewProj,
uniform float4x4 matWorld,
uniform float4 vViewPosition,
uniform float4 vSplatScales,
uniform float4 vDetailScales,
uniform float morphFactor,
uniform float fMaxDistance
)
{
Pos.y += delta * morphFactor;
oPos = mul( matWorldViewProj, Pos);
float3 vWorldPos = mul(matWorld, Pos).xyz;
//oNormal = Norm;
//float3 EyeDir = vViewPosition.xyz - vWorldPos;
float3 EyeDir = vWorldPos - vViewPosition.xyz;
//EyeDir.z *= -1;
float Depth = length(EyeDir);
oDepth.xyz = EyeDir / Depth;
oDepth.w = Depth / (fMaxDistance * 2.0f);
oTex = Tex;
oSplat12.xy = vWorldPos.xz / vSplatScales.x;
oSplat12.zw = vWorldPos.xz / vSplatScales.y;
oSplat34.xy = vWorldPos.xz / vSplatScales.z;
oSplat34.zw = vWorldPos.xz / vSplatScales.w;
oDetail = Tex * vDetailScales.x;
}
void ps_main(
float2 texCoord : TEXCOORD0,
float4 Splat12 : TEXCOORD1,
float4 Splat34 : TEXCOORD2,
float2 Detail : TEXCOORD3,
float4 Depth : TEXCOORD4,
out float4 oColor : COLOR0,
uniform sampler2D texLightmap,
uniform sampler2D texCoverage,
uniform sampler2D texSplat,
uniform sampler2D texSplat1,
uniform sampler2D texSplat2,
uniform sampler2D texSplat3,
uniform sampler2D texSplat4,
uniform sampler2D texDetail1,
uniform samplerCUBE texSkyBox,
uniform sampler1D texExtinction
)
{
float4 fLight = tex2D(texLightmap, texCoord);
float4 vCoverageColor = tex2D(texCoverage, texCoord);
float4 vSplatColor = tex2D(texSplat, texCoord);
vSplatColor /= vSplatColor.x + vSplatColor.y + vSplatColor.z + vSplatColor.w;
float4 vSplat1 = tex2D(texSplat1, Splat12.xy) * vSplatColor.x;
float4 vSplat2 = tex2D(texSplat2, Splat12.zw) * vSplatColor.y;
float4 vSplat3 = tex2D(texSplat3, Splat34.xy) * vSplatColor.z;
float4 vSplat4 = tex2D(texSplat4, Splat34.zw) * vSplatColor.w;
oColor = vSplat1 + vSplat2 + vSplat3 + vSplat4;
float fDetail = tex2D(texDetail1, Detail).x;
oColor *= fDetail;
oColor.xyz *= vCoverageColor.xyz * 0.9f;
oColor *= (fLight.w * 2.0 + 0.5);
#ifdef USE_SCATTERING
float3 SkyColor = texCUBE(texSkyBox, Depth.xyz).xyz;
float ExtinctionVal = tex1D(texExtinction, saturate(Depth.w)).x;
oColor.xyz = lerp(SkyColor, oColor.xyz , ExtinctionVal);
#endif
}