You can subscribe to this list here.
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(9) |
Jun
(7) |
Jul
(24) |
Aug
(4) |
Sep
(6) |
Oct
(6) |
Nov
(23) |
Dec
(62) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2009 |
Jan
(34) |
Feb
(33) |
Mar
(21) |
Apr
(13) |
May
(8) |
Jun
(15) |
Jul
(8) |
Aug
(10) |
Sep
(22) |
Oct
(3) |
Nov
(4) |
Dec
(15) |
2010 |
Jan
(7) |
Feb
(65) |
Mar
(30) |
Apr
(21) |
May
(15) |
Jun
(15) |
Jul
(25) |
Aug
(14) |
Sep
(11) |
Oct
|
Nov
(3) |
Dec
|
2011 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
(2) |
Aug
(1) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(1) |
From: <Hex...@us...> - 2008-07-03 05:25:27
|
Revision: 2462 http://ogreaddons.svn.sourceforge.net/ogreaddons/?rev=2462&view=rev Author: HexiDave Date: 2008-07-02 22:25:00 -0700 (Wed, 02 Jul 2008) Log Message: ----------- SPT updates and fixes. OpenGL now supported (Cg shader conversion complete). Modified Paths: -------------- trunk/simplepagedterrain/trunk/bin/Release/OgreGUIRenderer.dll trunk/simplepagedterrain/trunk/bin/Release/OgreMain.dll trunk/simplepagedterrain/trunk/bin/Release/Plugin_CgProgramManager.dll trunk/simplepagedterrain/trunk/bin/Release/Plugins.cfg trunk/simplepagedterrain/trunk/bin/Release/RenderSystem_Direct3D9.dll trunk/simplepagedterrain/trunk/bin/Release/SPT2_Demo.exe trunk/simplepagedterrain/trunk/demo/include/SPT_Demo.h trunk/simplepagedterrain/trunk/library/src/AtmosphericCubeMap.cpp trunk/simplepagedterrain/trunk/library/src/GPULightmapper.cpp trunk/simplepagedterrain/trunk/media/SPT2_Low.program trunk/simplepagedterrain/trunk/media/SPT2_Low.source trunk/simplepagedterrain/trunk/media/SPT2_Mat.material trunk/simplepagedterrain/trunk/media/SPT2_Medium.program trunk/simplepagedterrain/trunk/media/SPT2_Medium.source trunk/simplepagedterrain/trunk/media/materials/Lightmap.hlsl trunk/simplepagedterrain/trunk/media/materials/Lightmap.material trunk/simplepagedterrain/trunk/media/materials/Quad.hlsl trunk/simplepagedterrain/trunk/media/materials/Quad.program trunk/simplepagedterrain/trunk/media/materials/SkySphere.material trunk/simplepagedterrain/trunk/media/materials/SkySphere.source Added Paths: ----------- trunk/simplepagedterrain/trunk/bin/Release/RenderSystem_GL.dll Modified: trunk/simplepagedterrain/trunk/bin/Release/OgreGUIRenderer.dll =================================================================== (Binary files differ) Modified: trunk/simplepagedterrain/trunk/bin/Release/OgreMain.dll =================================================================== (Binary files differ) Modified: trunk/simplepagedterrain/trunk/bin/Release/Plugin_CgProgramManager.dll =================================================================== (Binary files differ) Modified: trunk/simplepagedterrain/trunk/bin/Release/Plugins.cfg =================================================================== --- trunk/simplepagedterrain/trunk/bin/Release/Plugins.cfg 2008-07-03 01:28:20 UTC (rev 2461) +++ trunk/simplepagedterrain/trunk/bin/Release/Plugins.cfg 2008-07-03 05:25:00 UTC (rev 2462) @@ -5,7 +5,7 @@ # Define plugins Plugin=RenderSystem_Direct3D9 -#Plugin=RenderSystem_GL +Plugin=RenderSystem_GL Plugin=Plugin_CgProgramManager Modified: trunk/simplepagedterrain/trunk/bin/Release/RenderSystem_Direct3D9.dll =================================================================== (Binary files differ) Added: trunk/simplepagedterrain/trunk/bin/Release/RenderSystem_GL.dll =================================================================== (Binary files differ) Property changes on: trunk/simplepagedterrain/trunk/bin/Release/RenderSystem_GL.dll ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: trunk/simplepagedterrain/trunk/bin/Release/SPT2_Demo.exe =================================================================== (Binary files differ) Modified: trunk/simplepagedterrain/trunk/demo/include/SPT_Demo.h =================================================================== --- trunk/simplepagedterrain/trunk/demo/include/SPT_Demo.h 2008-07-03 01:28:20 UTC (rev 2461) +++ trunk/simplepagedterrain/trunk/demo/include/SPT_Demo.h 2008-07-03 05:25:00 UTC (rev 2462) @@ -178,7 +178,7 @@ // Set ambient light mSceneMgr->setAmbientLight(ColourValue(0.5,0.5,0.5)); - mCamera->getViewport()->setMaterialScheme("Medium"); + //mCamera->getViewport()->setMaterialScheme("Low"); Modified: trunk/simplepagedterrain/trunk/library/src/AtmosphericCubeMap.cpp =================================================================== --- trunk/simplepagedterrain/trunk/library/src/AtmosphericCubeMap.cpp 2008-07-03 01:28:20 UTC (rev 2461) +++ trunk/simplepagedterrain/trunk/library/src/AtmosphericCubeMap.cpp 2008-07-03 05:25:00 UTC (rev 2462) @@ -399,7 +399,7 @@ mExtinction.setNull(); } - mExtinction = TextureManager::getSingleton().createManual(mExtinctionTexName,"General",TEX_TYPE_1D,mExtTextureSize,1,0,0,Ogre::PF_L8); + mExtinction = TextureManager::getSingleton().createManual(mExtinctionTexName,"General",TEX_TYPE_1D,mExtTextureSize,1,1,0,Ogre::PF_L8); Material::TechniqueIterator itTech = mTerrainMaterial->getTechniqueIterator(); while (itTech.hasMoreElements()) @@ -426,7 +426,7 @@ mCubeMap.setNull(); } - mCubeMap = TextureManager::getSingleton().createManual(mCubeMapTexName,"General",TEX_TYPE_CUBE_MAP,mLinTextureSize,mLinTextureSize,0,0,Ogre::PF_R8G8B8A8); + mCubeMap = TextureManager::getSingleton().createManual(mCubeMapTexName,"General",TEX_TYPE_CUBE_MAP,mLinTextureSize,mLinTextureSize,1,0,Ogre::PF_R8G8B8A8); Material::TechniqueIterator itTech = mTerrainMaterial->getTechniqueIterator(); Modified: trunk/simplepagedterrain/trunk/library/src/GPULightmapper.cpp =================================================================== --- trunk/simplepagedterrain/trunk/library/src/GPULightmapper.cpp 2008-07-03 01:28:20 UTC (rev 2461) +++ trunk/simplepagedterrain/trunk/library/src/GPULightmapper.cpp 2008-07-03 05:25:00 UTC (rev 2462) @@ -72,7 +72,7 @@ mRenderTexture = TextureManager::getSingleton().createManual( strRenderTextureName,"General", TEX_TYPE_2D,iLightmapWidth,iLightmapWidth, - 0,0,Ogre::PF_BYTE_RGBA,TU_RENDERTARGET); + 1,0,Ogre::PF_BYTE_RGBA,TU_RENDERTARGET); mRenderTarget = mRenderTexture->getBuffer()->getRenderTarget(); @@ -278,7 +278,7 @@ PixelFormat pixelFormat = ((sizeof(HEIGHTMAPTYPE) == 1) ? Ogre::PF_L8 : Ogre::PF_L16); - mHeightmapTexture = TextureManager::getSingleton().createManual(strHeightmapTexName,"General",TEX_TYPE_2D,iMapWidth,iMapWidth,0,0,pixelFormat); + mHeightmapTexture = TextureManager::getSingleton().createManual(strHeightmapTexName,"General",TEX_TYPE_2D,iMapWidth,iMapWidth,1,0,pixelFormat); updateHeightmapBuffer(); } Modified: trunk/simplepagedterrain/trunk/media/SPT2_Low.program =================================================================== --- trunk/simplepagedterrain/trunk/media/SPT2_Low.program 2008-07-03 01:28:20 UTC (rev 2461) +++ trunk/simplepagedterrain/trunk/media/SPT2_Low.program 2008-07-03 05:25:00 UTC (rev 2462) @@ -1,8 +1,8 @@ -vertex_program SPT2_Low_VS hlsl +vertex_program SPT2_Low_VS cg { source SPT2_Low.source entry_point vs_main - target vs_2_0 + profiles vs_2_0 arvp1 default_params { @@ -15,9 +15,10 @@ } -fragment_program SPT2_Low_PS hlsl +fragment_program SPT2_Low_PS cg { source SPT2_Low.source entry_point ps_main - target ps_2_0 + profiles ps_2_0 arbfp1 + compile_arguments -DUSE_SCATTERING } \ No newline at end of file Modified: trunk/simplepagedterrain/trunk/media/SPT2_Low.source =================================================================== --- trunk/simplepagedterrain/trunk/media/SPT2_Low.source 2008-07-03 01:28:20 UTC (rev 2461) +++ trunk/simplepagedterrain/trunk/media/SPT2_Low.source 2008-07-03 05:25:00 UTC (rev 2462) @@ -1,111 +1,94 @@ -#define USE_SCATTERING +void vs_main( + float4 Pos : POSITION, + float2 Tex : TEXCOORD0, + float2 Tex2 : TEXCOORD1, + float delta : BLENDWEIGHT, -float4x4 matWorldViewProj; -float4x4 matWorld; -float4 vViewPosition; -float morphFactor; -//float3 parentUVOffset; + out float4 oPos : POSITION, + out float2 oTex : TEXCOORD0, + out float4 oSplat12 : TEXCOORD1, + out float4 oSplat34 : TEXCOORD2, + out float2 oDetail : TEXCOORD3, + out float4 oDepth : TEXCOORD4, -float fMaxDistance; -//float fRoadScale; -float4 vSplatScales; -float4 vDetailScales; - -struct VS_INPUT + uniform float4x4 matWorldViewProj, + uniform float4x4 matWorld, + uniform float4 vViewPosition, + uniform float4 vSplatScales, + uniform float4 vDetailScales, + uniform float morphFactor, + uniform float fMaxDistance + ) { - float4 Pos : POSITION0; - float2 Tex : TEXCOORD0; - float2 Tex2: TEXCOORD1; - //float4 Color : COLOR0; - float delta: BLENDWEIGHT; -}; -struct VS_OUTPUT -{ - float4 Pos : POSITION0; - float2 Tex : TEXCOORD0; - float4 Splat12 : TEXCOORD1; - float4 Splat34 : TEXCOORD2; - float2 Detail : TEXCOORD3; - float4 Depth : TEXCOORD4; -}; + + Pos.y += delta * morphFactor; -VS_OUTPUT vs_main( VS_INPUT Input ) -{ - VS_OUTPUT Output; - Input.Pos.y += Input.delta * morphFactor; + oPos = mul( matWorldViewProj, Pos); + float3 vWorldPos = mul(matWorld, Pos).xyz; + //oNormal = Norm; - - Output.Pos = mul( matWorldViewProj, Input.Pos); - float3 vWorldPos = mul(matWorld, Input.Pos).xyz; - //float3 EyeDir = vViewPosition.xyz - vWorldPos; float3 EyeDir = vWorldPos - vViewPosition.xyz; //EyeDir.z *= -1; float Depth = length(EyeDir); - Output.Depth.xyz = EyeDir / Depth; - Output.Depth.w = Depth / fMaxDistance; + oDepth.xyz = EyeDir / Depth; + oDepth.w = Depth / (fMaxDistance * 2.0f); - Output.Tex = Input.Tex; + oTex = Tex; - Output.Splat12.xy = vWorldPos.xz / vSplatScales.x; - Output.Splat12.zw = vWorldPos.xz / vSplatScales.y; - Output.Splat34.xy = vWorldPos.xz / vSplatScales.z; - Output.Splat34.zw = vWorldPos.xz / vSplatScales.w; + oSplat12.xy = vWorldPos.xz / vSplatScales.x; + oSplat12.zw = vWorldPos.xz / vSplatScales.y; + oSplat34.xy = vWorldPos.xz / vSplatScales.z; + oSplat34.zw = vWorldPos.xz / vSplatScales.w; + - Output.Detail = Input.Tex * vDetailScales.x; - //Output.Details12.zw = Input.Tex * vDetailScales.y; - - //Output.Road = Input.Tex * fRoadScale; - - return Output; + oDetail = Tex * vDetailScales.x; } -sampler2D Coverage; -sampler2D Splat; -sampler2D Lightmap; -sampler2D Splat1; -sampler2D Splat2; -sampler2D Splat3; -sampler2D Splat4; +void ps_main( + float2 texCoord : TEXCOORD0, + float4 Splat12 : TEXCOORD1, + float4 Splat34 : TEXCOORD2, + float2 Detail : TEXCOORD3, + float4 Depth : TEXCOORD4, -sampler2D Detail1; -//sampler2D Detail2; -sampler1D Extinction; -samplerCUBE SkyBox; + out float4 oColor : COLOR0, -struct PS_INPUT -{ - float2 texCoord: TEXCOORD0; - float4 Splat12 : TEXCOORD1; - float4 Splat34 : TEXCOORD2; - float2 Detail : TEXCOORD3; - float4 Depth : TEXCOORD4; -}; + 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 ps_main( PS_INPUT Input ) : COLOR + ) { - float4 fLight = tex2D(Lightmap, Input.texCoord); + float4 fLight = tex2D(texLightmap, texCoord); - float4 vCoverageColor = tex2D(Coverage, Input.texCoord); + float4 vCoverageColor = tex2D(texCoverage, texCoord); - float4 vSplatColor = tex2D(Splat, Input.texCoord); + float4 vSplatColor = tex2D(texSplat, texCoord); vSplatColor /= vSplatColor.x + vSplatColor.y + vSplatColor.z + vSplatColor.w; - float4 vSplat1 = tex2D(Splat1, Input.Splat12.xy) * vSplatColor.x; - float4 vSplat2 = tex2D(Splat2, Input.Splat12.zw) * vSplatColor.y; - float4 vSplat3 = tex2D(Splat3, Input.Splat34.xy) * vSplatColor.z; - float4 vSplat4 = tex2D(Splat4, Input.Splat34.zw) * 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; - float4 oColor = vSplat1 + vSplat2 + vSplat3 + vSplat4; + oColor = vSplat1 + vSplat2 + vSplat3 + vSplat4; - float fDetail = tex2D(Detail1, Input.Detail).x; + float fDetail = tex2D(texDetail1, Detail).x; oColor *= fDetail; @@ -114,14 +97,10 @@ oColor *= (fLight.w * 2.0 + 0.5); #ifdef USE_SCATTERING - float3 SkyColor = texCUBE(SkyBox, Input.Depth.xyz); - float ExtinctionVal = tex1D(Extinction, saturate(Input.Depth.w)); + float3 SkyColor = texCUBE(texSkyBox, Depth.xyz).xyz; + float ExtinctionVal = tex1D(texExtinction, saturate(Depth.w)).x; oColor.xyz = lerp(SkyColor, oColor.xyz , ExtinctionVal); #endif - - return float4(oColor.xyz,1); -//return float4(oColor.x,0,0,1); - } Modified: trunk/simplepagedterrain/trunk/media/SPT2_Mat.material =================================================================== --- trunk/simplepagedterrain/trunk/media/SPT2_Mat.material 2008-07-03 01:28:20 UTC (rev 2461) +++ trunk/simplepagedterrain/trunk/media/SPT2_Mat.material 2008-07-03 05:25:00 UTC (rev 2462) @@ -16,27 +16,28 @@ } - texture_unit Coverage + texture_unit Lightmap { - texture_alias Coverage + texture_alias Lightmap filtering bilinear tex_address_mode clamp tex_coord_set 0 } - texture_unit SplatMap + texture_unit Coverage { - texture_alias SplatMap + texture_alias Coverage filtering bilinear tex_address_mode clamp tex_coord_set 1 } - texture_unit Lightmap + texture_unit SplatMap { - texture_alias Lightmap + texture_alias SplatMap filtering bilinear tex_address_mode clamp tex_coord_set 2 } + texture_unit Splat1 { texture_alias Splat1 @@ -75,18 +76,19 @@ filtering trilinear tex_coord_set 8 } - texture_unit Extinction + texture_unit SkyBox { - texture_alias Extinction - filtering bilinear + texture_alias SkyBox tex_coord_set 9 } - texture_unit SkyBox + texture_unit Extinction { - texture_alias SkyBox + texture_alias Extinction + filtering bilinear tex_coord_set 10 } + } } } @@ -127,69 +129,62 @@ } + + texture_unit Lightmap + { + texture_alias Lightmap + filtering bilinear + tex_address_mode clamp + } texture_unit Coverage { texture_alias Coverage filtering bilinear tex_address_mode clamp - tex_coord_set 0 } texture_unit SplatMap { texture_alias SplatMap filtering bilinear tex_address_mode clamp - tex_coord_set 1 } - texture_unit Lightmap - { - texture_alias Lightmap - filtering bilinear - tex_address_mode clamp - tex_coord_set 2 - } + texture_unit Splat1 { texture_alias Splat1 filtering trilinear - tex_coord_set 3 } texture_unit Splat2 { texture_alias Splat2 filtering trilinear - tex_coord_set 4 } texture_unit Splat3 { texture_alias Splat3 filtering trilinear - tex_coord_set 5 } texture_unit Splat4 { texture_alias Splat4 filtering trilinear - tex_coord_set 6 } texture_unit Detail1 { texture_alias Detail1 filtering trilinear - tex_coord_set 7 } + + texture_unit SkyBox + { + texture_alias SkyBox + } texture_unit Extinction { texture_alias Extinction filtering bilinear - tex_coord_set 8 } - texture_unit SkyBox - { - texture_alias SkyBox - tex_coord_set 9 - } } } Modified: trunk/simplepagedterrain/trunk/media/SPT2_Medium.program =================================================================== --- trunk/simplepagedterrain/trunk/media/SPT2_Medium.program 2008-07-03 01:28:20 UTC (rev 2461) +++ trunk/simplepagedterrain/trunk/media/SPT2_Medium.program 2008-07-03 05:25:00 UTC (rev 2462) @@ -1,8 +1,8 @@ -vertex_program SPT2_Medium_VS hlsl +vertex_program SPT2_Medium_VS cg { source SPT2_Medium.source entry_point vs_main - target vs_3_0 + profiles vs_3_0 arbvp1 default_params { @@ -15,9 +15,10 @@ } -fragment_program SPT2_Medium_PS hlsl +fragment_program SPT2_Medium_PS cg { source SPT2_Medium.source entry_point ps_main - target ps_3_0 + profiles ps_3_0 arbfp1 + compile_arguments -DUSE_SCATTERING } \ No newline at end of file Modified: trunk/simplepagedterrain/trunk/media/SPT2_Medium.source =================================================================== --- trunk/simplepagedterrain/trunk/media/SPT2_Medium.source 2008-07-03 01:28:20 UTC (rev 2461) +++ trunk/simplepagedterrain/trunk/media/SPT2_Medium.source 2008-07-03 05:25:00 UTC (rev 2462) @@ -1,65 +1,51 @@ -#define USE_SCATTERING +void vs_main( + float4 Pos : POSITION, + float2 Tex : TEXCOORD0, + float2 Tex2 : TEXCOORD1, + float delta : BLENDWEIGHT, -float4x4 matWorldViewProj; -float4x4 matWorld; -float4 vViewPosition; -float morphFactor; -//float3 parentUVOffset; + out float4 oPos : POSITION, + out float2 oTex : TEXCOORD0, + out float3 oSplat1 : TEXCOORD1, + out float3 oSplat2 : TEXCOORD2, + out float3 oSplat3 : TEXCOORD3, + out float3 oSplat4 : TEXCOORD4, + out float4 oDetails12 : TEXCOORD5, + out float4 oDepth : TEXCOORD6, -float fMaxDistance; -//float fRoadScale; -float4 vSplatScales; -float4 vDetailScales; - -struct VS_INPUT + uniform float4x4 matWorldViewProj, + uniform float4x4 matWorld, + uniform float4 vViewPosition, + uniform float morphFactor, + uniform float fMaxDistance, + uniform float4 vSplatScales, + uniform float4 vDetailScales + ) { - float4 Pos : POSITION0; - float3 Norm: NORMAL0; - float2 Tex : TEXCOORD0; - float2 Tex2: TEXCOORD1; - //float4 Color : COLOR0; - float delta: BLENDWEIGHT; -}; -struct VS_OUTPUT -{ - float4 Pos : POSITION0; - float2 Tex : TEXCOORD0; - float3 Splat1 : TEXCOORD1; - float3 Splat2 : TEXCOORD2; - float3 Splat3 : TEXCOORD3; - float3 Splat4 : TEXCOORD4; - float3 Normal : TEXCOORD5; - float4 Details12 : TEXCOORD6; - float4 Depth : TEXCOORD7; -}; + + Pos.y += delta * morphFactor; -VS_OUTPUT vs_main( VS_INPUT Input ) -{ - VS_OUTPUT Output; - Input.Pos.y += Input.delta * morphFactor; + oPos = mul( matWorldViewProj, Pos); + float3 vWorldPos = mul(matWorld, Pos).xyz; + //oNormal = Norm; - - Output.Pos = mul( matWorldViewProj, Input.Pos); - float3 vWorldPos = mul(matWorld, Input.Pos).xyz; - Output.Normal = Input.Norm; - //float3 EyeDir = vViewPosition.xyz - vWorldPos; float3 EyeDir = vWorldPos - vViewPosition.xyz; //EyeDir.z *= -1; float Depth = length(EyeDir); - Output.Depth.xyz = EyeDir / Depth; - Output.Depth.w = Depth / (fMaxDistance * 2.0f); + oDepth.xyz = EyeDir / Depth; + oDepth.w = Depth / (fMaxDistance * 2.0f); - Output.Tex = Input.Tex; + oTex = Tex; - Output.Splat1 = vWorldPos / vSplatScales.x; - Output.Splat2 = vWorldPos / vSplatScales.y; - Output.Splat3 = vWorldPos / vSplatScales.z; - Output.Splat4 = vWorldPos / vSplatScales.w; + oSplat1 = vWorldPos / vSplatScales.x; + oSplat2 = vWorldPos / vSplatScales.y; + oSplat3 = vWorldPos / vSplatScales.z; + oSplat4 = vWorldPos / vSplatScales.w; //float3 vSplat1 = vWorldPos / vSplatScales.x; @@ -72,64 +58,62 @@ //Output.Splat3 = float4(vSplat3,vSplat4.z); - Output.Details12.xy = Input.Tex * vDetailScales.x; - Output.Details12.zw = Input.Tex * vDetailScales.y; + oDetails12.xy = Tex * vDetailScales.x; + oDetails12.zw = Tex * vDetailScales.y; //Output.Road = Input.Tex * fRoadScale; - return Output; + //return Output; } -sampler2D Coverage; -sampler2D Splat; -sampler2D Lightmap; -sampler2D Splat1; -sampler2D Splat2; -sampler2D Splat3; -sampler2D Splat4; +void ps_main( + float2 texCoord : TEXCOORD0, + float3 Splat1 : TEXCOORD1, + float3 Splat2 : TEXCOORD2, + float3 Splat3 : TEXCOORD3, + float3 Splat4 : TEXCOORD4, + float4 Details12 : TEXCOORD5, + float4 Depth : TEXCOORD6, -sampler2D Detail1; -sampler2D Detail2; -sampler1D Extinction; -samplerCUBE SkyBox; + out float4 oColor : COLOR0, -struct PS_INPUT -{ - float2 texCoord : TEXCOORD0; - float3 Splat1 : TEXCOORD1; - float3 Splat2 : TEXCOORD2; - float3 Splat3 : TEXCOORD3; - float3 Splat4 : TEXCOORD4; - float3 Normal : TEXCOORD5; - float4 Details12 : TEXCOORD6; - float4 Depth : TEXCOORD7; -}; + 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 sampler2D texDetail2, + uniform samplerCUBE texSkyBox, + uniform sampler1D texExtinction -float4 ps_main( PS_INPUT Input ) : COLOR + ) { //float3 vNorm = normalize(Input.Normal); - float4 fLight = tex2D(Lightmap, Input.texCoord); + float4 fLight = tex2D(texLightmap, texCoord); float3 vNorm = (fLight.xyz * 2.0f) - 1.0f; float3 blendWeights = abs(vNorm)-0.2; blendWeights *= 7.0; blendWeights = pow(blendWeights, 3.0); - blendWeights = max(0.0, blendWeights); + blendWeights = max(float3(0.0f,0.0f,0.0f), blendWeights); blendWeights /= dot(blendWeights,1.0); - float4 vCoverageColor = tex2D(Coverage, Input.texCoord); + float4 vCoverageColor = tex2D(texCoverage, texCoord); - float4 oColor = float4(0,0,0,0); + oColor = float4(0,0,0,0); - float4 vSplatColor = tex2D(Splat, Input.texCoord); + float4 vSplatColor = tex2D(texSplat, texCoord); vSplatColor /= vSplatColor.x + vSplatColor.y + vSplatColor.z + vSplatColor.w; float4 vSplat1 = float4(0,0,0,1); float4 vSplat2 = float4(0,0,0,1); @@ -143,27 +127,27 @@ // Splat1 - vSplat1.xyz = tex2D(Splat1, Input.Splat1.yz).xyz * blendWeights.x + - tex2D(Splat1, Input.Splat1.xz).xyz * blendWeights.y + - tex2D(Splat1, Input.Splat1.xy).xyz * blendWeights.z; + vSplat1.xyz = tex2D(texSplat1, Splat1.yz).xyz * blendWeights.x + + tex2D(texSplat1, Splat1.xz).xyz * blendWeights.y + + tex2D(texSplat1, Splat1.xy).xyz * blendWeights.z; vSplat1.xyz *= vSplatColor.x; } if (vSplatColor.y > 0.0f) { - vSplat2.xyz = tex2D(Splat2, Input.Splat2.yz).xyz * blendWeights.x + - tex2D(Splat2, Input.Splat2.xz).xyz * blendWeights.y + - tex2D(Splat2, Input.Splat2.xy).xyz * blendWeights.z; + vSplat2.xyz = tex2D(texSplat2, Splat2.yz).xyz * blendWeights.x + + tex2D(texSplat2, Splat2.xz).xyz * blendWeights.y + + tex2D(texSplat2, Splat2.xy).xyz * blendWeights.z; vSplat2.xyz *= vSplatColor.y; } if (vSplatColor.z > 0.0f) { - vSplat3.xyz = tex2D(Splat3, Input.Splat3.yz).xyz * blendWeights.x + - tex2D(Splat3, Input.Splat3.xz).xyz * blendWeights.y + - tex2D(Splat3, Input.Splat3.xy).xyz * blendWeights.z; + vSplat3.xyz = tex2D(texSplat3, Splat3.yz).xyz * blendWeights.x + + tex2D(texSplat3, Splat3.xz).xyz * blendWeights.y + + tex2D(texSplat3, Splat3.xy).xyz * blendWeights.z; vSplat3.xyz *= vSplatColor.z; } @@ -172,17 +156,17 @@ // Splat4 - vSplat4.xyz = tex2D(Splat4, Input.Splat4.yz).xyz * blendWeights.x + - tex2D(Splat4, Input.Splat4.xz).xyz * blendWeights.y + - tex2D(Splat4, Input.Splat4.xy).xyz * blendWeights.z; + vSplat4.xyz = tex2D(texSplat4, Splat4.yz).xyz * blendWeights.x + + tex2D(texSplat4, Splat4.xz).xyz * blendWeights.y + + tex2D(texSplat4, Splat4.xy).xyz * blendWeights.z; vSplat4.xyz *= vSplatColor.w; } oColor = vSplat1 + vSplat2 + vSplat3 + vSplat4; - float fDetail1 = tex2D(Detail1, Input.Details12.xy).x; - float fDetail2 = tex2D(Detail2, Input.Details12.zw).x; + float fDetail1 = tex2D(texDetail1, Details12.xy).x; + float fDetail2 = tex2D(texDetail2, Details12.zw).x; oColor *= fDetail1 * fDetail2; @@ -200,13 +184,11 @@ oColor *= (fLight.w * 2.0 + 0.5); #ifdef USE_SCATTERING - float3 SkyColor = texCUBE(SkyBox, Input.Depth.xyz); - float ExtinctionVal = tex1D(Extinction, saturate(Input.Depth.w)); + float3 SkyColor = texCUBE(texSkyBox, Depth.xyz).xyz; + float ExtinctionVal = tex1D(texExtinction, saturate(Depth.w)).x; - oColor.xyz = lerp(SkyColor, oColor.xyz , ExtinctionVal); + oColor.xyz = lerp(SkyColor.xyz, oColor.xyz , ExtinctionVal).xyz; #endif - - return float4(oColor.xyz,1); - + } Modified: trunk/simplepagedterrain/trunk/media/materials/Lightmap.hlsl =================================================================== --- trunk/simplepagedterrain/trunk/media/materials/Lightmap.hlsl 2008-07-03 01:28:20 UTC (rev 2461) +++ trunk/simplepagedterrain/trunk/media/materials/Lightmap.hlsl 2008-07-03 05:25:00 UTC (rev 2462) @@ -39,7 +39,7 @@ { pos += vRay; - height = tex2Dgrad(Texture0, pos.xz,dxTex.x,dxTex.y).x; + height = tex2D(Texture0, pos.xz,dxTex.x,dxTex.y).x; i++; Modified: trunk/simplepagedterrain/trunk/media/materials/Lightmap.material =================================================================== --- trunk/simplepagedterrain/trunk/media/materials/Lightmap.material 2008-07-03 01:28:20 UTC (rev 2461) +++ trunk/simplepagedterrain/trunk/media/materials/Lightmap.material 2008-07-03 05:25:00 UTC (rev 2462) @@ -1,9 +1,10 @@ -fragment_program Lightmap_PS3 hlsl +fragment_program Lightmap_PS3 cg { source Lightmap.hlsl entry_point ps_main - target ps_3_0 - preprocessor_defines USE_PS_3 + profiles ps_3_0 arbfp1 + compile_arguments -DUSE_PS_3 + //preprocessor_defines USE_PS_3 default_params { @@ -14,11 +15,11 @@ } } -fragment_program Lightmap_PS2 hlsl +fragment_program Lightmap_PS2 cg { source Lightmap.hlsl entry_point ps_main - target ps_2_0 + profiles ps_2_0 arbfp1 default_params { Modified: trunk/simplepagedterrain/trunk/media/materials/Quad.hlsl =================================================================== --- trunk/simplepagedterrain/trunk/media/materials/Quad.hlsl 2008-07-03 01:28:20 UTC (rev 2461) +++ trunk/simplepagedterrain/trunk/media/materials/Quad.hlsl 2008-07-03 05:25:00 UTC (rev 2462) @@ -1,31 +1,18 @@ -//float4x4 matWorldViewProjection; - -float3 vScale; - -struct VS_OUTPUT +void vs_main( + in float2 inPos : POSITION, + + out float4 pos : POSITION, + out float2 uv0 : TEXCOORD0, + + uniform float3 vScale + ) { - float4 Pos : POSITION0; - float2 UV : TEXCOORD0; -}; -VS_OUTPUT vs_main(float4 Pos : POSITION0) -{ - VS_OUTPUT Output; - // Use standardise transform, so work accord with render system specific (RS depth, requires texture flipping, etc) - //Output.Pos = mul(matWorldViewProjection, Pos); // The input positions adjusted by texel offsets, so clean up inaccuracies - Pos.xy = (sign(Pos.xy) * vScale.x) + vScale.yz; - Output.Pos = float4(Pos.xy ,0.0f,1.0f); + inPos.xy = (sign(inPos.xy) * vScale.x) + vScale.yz; + pos = float4(inPos.xy ,0.0f,1.0f); // Convert to image-space - Output.UV = (float2(Pos.x, -Pos.y) + 1.0f) * 0.5f; - - //inPos.xy = sign( inPos.xy); - //o.pos = float4( inPos.xy, 0.0f, 1.0f); - - // get into range [0,1] - //o.texCoord = (float2(o.pos.x, -o.pos.y) + 1.0f)/2.0f; - - return Output; + uv0 = (float2(inPos.x, -inPos.y) + 1.0f) * 0.5f; } \ No newline at end of file Modified: trunk/simplepagedterrain/trunk/media/materials/Quad.program =================================================================== --- trunk/simplepagedterrain/trunk/media/materials/Quad.program 2008-07-03 01:28:20 UTC (rev 2461) +++ trunk/simplepagedterrain/trunk/media/materials/Quad.program 2008-07-03 05:25:00 UTC (rev 2462) @@ -1,8 +1,8 @@ -vertex_program Quad_VS hlsl +vertex_program Quad_VS cg { source Quad.hlsl entry_point vs_main - target vs_1_1 + profiles vs_1_1 arbvp1 default_params { Modified: trunk/simplepagedterrain/trunk/media/materials/SkySphere.material =================================================================== --- trunk/simplepagedterrain/trunk/media/materials/SkySphere.material 2008-07-03 01:28:20 UTC (rev 2461) +++ trunk/simplepagedterrain/trunk/media/materials/SkySphere.material 2008-07-03 05:25:00 UTC (rev 2462) @@ -1,8 +1,8 @@ -vertex_program SkySphere_VS hlsl +vertex_program SkySphere_VS cg { source SkySphere.source entry_point vs_main - target vs_2_0 + profiles vs_2_0 arbvp1 default_params { @@ -11,11 +11,11 @@ } } -fragment_program SkySphere_PS hlsl +fragment_program SkySphere_PS cg { source SkySphere.source entry_point ps_main - target ps_2_0 + profiles ps_2_0 arbfp1 } material SkySphere @@ -40,6 +40,7 @@ texture_unit SkyBox { + } } } Modified: trunk/simplepagedterrain/trunk/media/materials/SkySphere.source =================================================================== --- trunk/simplepagedterrain/trunk/media/materials/SkySphere.source 2008-07-03 01:28:20 UTC (rev 2461) +++ trunk/simplepagedterrain/trunk/media/materials/SkySphere.source 2008-07-03 05:25:00 UTC (rev 2462) @@ -1,38 +1,29 @@ -float4x4 matWorldViewProjection; -//float4 vViewPosition; +void vs_main( + in float4 Position : POSITION, + + out float4 oPosition : POSITION, + out float3 oCubeTex : TEXCOORD0, - -struct VS_OUTPUT + uniform float4x4 matWorldViewProjection + ) { - float4 Position : POSITION0; - float3 CubeTex : TEXCOORD0; -}; - -VS_OUTPUT vs_main( float4 Position : POSITION0 ) -{ - VS_OUTPUT Output; - - Output.CubeTex = Position.xyz; + oCubeTex = normalize(Position.xyz); -// Fits it to the correct orientation - //Output.CubeTex.z *= -1.0f; - - //Position.xyz += vViewPosition.xyz; + oPosition = mul( matWorldViewProjection, Position); - Output.Position = mul( matWorldViewProjection, Position); - return( Output ); } -samplerCUBE SkyBox; - -float4 ps_main( float3 CubeTex : TEXCOORD0 ) : COLOR0 +void ps_main( + float3 CubeTex : TEXCOORD0, + out float4 oColor : COLOR0, + uniform samplerCUBE SkyBox ) { - return texCUBE(SkyBox, CubeTex); + oColor = texCUBE(SkyBox, CubeTex); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Hex...@us...> - 2008-07-02 04:51:09
|
Revision: 2459 http://ogreaddons.svn.sourceforge.net/ogreaddons/?rev=2459&view=rev Author: HexiDave Date: 2008-07-01 21:51:10 -0700 (Tue, 01 Jul 2008) Log Message: ----------- Some new toys along with some updates. 50% done on the SceneObject system, which lets you automate a lot of game-object processes and adds the object to the scene with atmospheric scattering built in. Still working on documentation - lots to do still, so don't want to mess everything up now. Modified Paths: -------------- trunk/simplepagedterrain/trunk/bin/Release/SPT2_Demo.exe trunk/simplepagedterrain/trunk/bin/Release/resources.cfg trunk/simplepagedterrain/trunk/demo/include/SPT_Demo.h trunk/simplepagedterrain/trunk/library/include/Prerequisites.h trunk/simplepagedterrain/trunk/library/include/Terrain.h trunk/simplepagedterrain/trunk/library/scripts/SPTv2.vcproj trunk/simplepagedterrain/trunk/library/src/PNGHeightmapReader.cpp trunk/simplepagedterrain/trunk/library/src/Terrain.cpp trunk/simplepagedterrain/trunk/library/src/TerrainMesh.cpp trunk/simplepagedterrain/trunk/media/materials/Highlands.material Added Paths: ----------- trunk/simplepagedterrain/trunk/library/include/ObjectHandler.h trunk/simplepagedterrain/trunk/library/src/ObjectHandler.cpp trunk/simplepagedterrain/trunk/media/SPT2_Low.program trunk/simplepagedterrain/trunk/media/SPT2_Low.source trunk/simplepagedterrain/trunk/media/SPT2_Mat.material trunk/simplepagedterrain/trunk/media/SPT2_Medium.program trunk/simplepagedterrain/trunk/media/SPT2_Medium.source trunk/simplepagedterrain/trunk/media/SPT2_Shadow.program trunk/simplepagedterrain/trunk/media/SPT2_Shadow.source trunk/simplepagedterrain/trunk/media/materials/Ogre.material trunk/simplepagedterrain/trunk/media/materials/SPT2_Highlands.material trunk/simplepagedterrain/trunk/media/models/ trunk/simplepagedterrain/trunk/media/models/ogrehead.mesh trunk/simplepagedterrain/trunk/media/textures/Dirt.jpg trunk/simplepagedterrain/trunk/media/textures/GreenSkin.jpg trunk/simplepagedterrain/trunk/media/textures/WeirdEye.png trunk/simplepagedterrain/trunk/media/textures/spheremap.png Modified: trunk/simplepagedterrain/trunk/bin/Release/SPT2_Demo.exe =================================================================== (Binary files differ) Modified: trunk/simplepagedterrain/trunk/bin/Release/resources.cfg =================================================================== --- trunk/simplepagedterrain/trunk/bin/Release/resources.cfg 2008-07-01 15:10:10 UTC (rev 2458) +++ trunk/simplepagedterrain/trunk/bin/Release/resources.cfg 2008-07-02 04:51:10 UTC (rev 2459) @@ -8,6 +8,4 @@ FileSystem=../../media FileSystem=../../media/materials FileSystem=../../media/textures -FileSystem=../../PagedGeometry/media/grass -FileSystem=../../PagedGeometry/media/trees -FileSystem=../../PagedGeometry/media/trees2 \ No newline at end of file +FileSystem=../../media/models Modified: trunk/simplepagedterrain/trunk/demo/include/SPT_Demo.h =================================================================== --- trunk/simplepagedterrain/trunk/demo/include/SPT_Demo.h 2008-07-01 15:10:10 UTC (rev 2458) +++ trunk/simplepagedterrain/trunk/demo/include/SPT_Demo.h 2008-07-02 04:51:10 UTC (rev 2459) @@ -3,17 +3,21 @@ #include "AtmosphericCubeMap.h" #include "CircleDisplacement.h" #include "RectFlatten.h" +#include "ObjectHandler.h" #include <Ogre.h> +#include <fstream> + using namespace SPT; Terrain* gTerrain; Light* gSunLight; +// Kind of hacky, but can't use Camera as a Node +SceneNode* gFollowNode; - class MyFrameListener : public ExampleFrameListener { protected: @@ -56,6 +60,7 @@ vLightDir.normalise(); gTerrain->setLightDirection(vLightDir); + gSunLight->setDirection(vLightDir); mTimeUntilNextToggle = 0.2; @@ -80,6 +85,7 @@ pAtm->setMieCoef(0.1); gTerrain->setLightDirection(Vector3(0,0,1)); + gSunLight->setDirection(Vector3(0,0,1)); mTimeUntilNextToggle = 0.2; } @@ -106,7 +112,7 @@ // Randomly displaces the terrain as a big crater Vector3 pos = Vector3(Math::RangeRandom(-16000,16000),0.0f,Math::RangeRandom(-16000,16000)); - if (gTerrain->getHeightAt(pos,true,false)) + if (gTerrain->getHeightAt(pos,0.0f,true,false)) { Real radius = Math::RangeRandom(500,16000); Real power = Math::RangeRandom(-20000,20000); @@ -118,13 +124,14 @@ mTimeUntilNextToggle = 0.2; } + // Update our cheezy follow node + gFollowNode->setPosition(mCamera->getPosition()); + // Displays the current movement speed mDebugText = "Current speed: " + StringConverter::toString(mMoveSpeed) + " m/s"; - - return true; } @@ -171,7 +178,10 @@ // Set ambient light mSceneMgr->setAmbientLight(ColourValue(0.5,0.5,0.5)); + mCamera->getViewport()->setMaterialScheme("Medium"); + + gSunLight = mSceneMgr->createLight("Sun"); gSunLight->setType(Light::LT_DIRECTIONAL); gSunLight->setDirection(-0.808863, -0.488935, -0.326625); @@ -192,7 +202,7 @@ // Do a quick setup - gTerrain->quickSetup("Highlands_Height.png",2049,"SPT_Highlands",64000.0,6000.0); + gTerrain->quickSetup("Highlands_Height.png","SPT_Highlands",64000.0,6000.0); // All this handles the atmosphere @@ -232,6 +242,29 @@ // And you're done! + gFollowNode = mSceneMgr->getRootSceneNode()->createChildSceneNode("ChaseNode"); + + const size_t iTotalOgreHeads = 50; + + SceneObject* pObj = 0; + Vector3 startPos = Vector3::ZERO; + + for (size_t i=0;i<iTotalOgreHeads;i++) + { + pObj = gTerrain->getObjectHandler()->createSceneObject("OgreHead" + StringConverter::toString(i),"ogrehead.mesh"); + pObj->setAutoClampState(Terrain::ACS_ALWAYS); + pObj->useBoundingBoxBase(); + pObj->biasHeightBonus(-2.0f); + pObj->setTargetNode(gFollowNode,(Math::RangeRandom(-50,50) > 0.0f) ? true : false); + startPos.x = Math::RangeRandom(-32000,32000); + startPos.z = Math::RangeRandom(-32000,32000); + pObj->moveObject(startPos); + pObj->setAutoClampTime(Math::RangeRandom(0.0f,5.0f)); + pObj->setAutoRotateTime(Math::RangeRandom(0.0f,2.0f)); + } + + + } void createFrameListener() Added: trunk/simplepagedterrain/trunk/library/include/ObjectHandler.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/ObjectHandler.h (rev 0) +++ trunk/simplepagedterrain/trunk/library/include/ObjectHandler.h 2008-07-02 04:51:10 UTC (rev 2459) @@ -0,0 +1,184 @@ +#pragma once + +#include <OgrePrerequisites.h> +#include <OgreMaterial.h> +#include <OgreVector3.h> +#include <OgreSceneNode.h> +#include "Prerequisites.h" +#include "Terrain.h" +#if (USE_SINGLETON == 1) +#include <OgreSingleton.h> +#endif + +namespace SPT +{ + class Terrain; + class ObjectHandler; + + class SceneObject + { + public: + + SceneObject( + ObjectHandler* objectHandler, + Ogre::MovableObject* movableObject, + Ogre::SceneNode* sceneNode, + Terrain::AutoClampState autoClampState, + Ogre::Real heightBonus); + + ~SceneObject(); + + void update(Ogre::Real fTime); + + Ogre::MovableObject* getObject() const { return mObject; } + + Ogre::SceneNode* getSceneNode() const { return mSceneNode; } + + ObjectHandler* getObjectHandler() const { return mObjectHandler; } + + Terrain::AutoClampState getAutoClampState() const { return mAutoClampState; } + void setAutoClampState(Terrain::AutoClampState val) { mAutoClampState = val; } + + Ogre::Real getAutoClampTime() const { return mAutoClampTime; } + void setAutoClampTime(Ogre::Real val) { mAutoClampTime = val; } + + Ogre::Real getHeightBonus() const { return mHeightBonus; } + void setHeightBonus(Ogre::Real val) { mHeightBonus = val; } + + void useBoundingBoxBase(); + + void biasHeightBonus(Ogre::Real val) {mHeightBonus += val;} + void biasHeightBonusPercent(Ogre::Real percent); + + void moveObject(const Ogre::Vector3& pos = Ogre::Vector3::ZERO); + void translateObject(const Ogre::Vector3& translation = Ogre::Vector3::ZERO); + + void setRotation(const Ogre::Quaternion& rotation = Ogre::Quaternion::IDENTITY); + + void rotateXZ(const Ogre::Degree rotation = Ogre::Degree() ); + + Ogre::Vector3 getOriginalDirection() const { return mOriginalDirection; } + void setOriginalDirection(const Ogre::Vector3& val = Ogre::Vector3::UNIT_Z) { mOriginalDirection = val; } + + void turnTowardsPoint(const Ogre::Vector3& target, bool useXZFirst = true); + + void turnTowardsPointXZ(const Ogre::Vector3& target); + + Ogre::Node* getTargetNode() const { return mTargetNode; } + void setTargetNode( Ogre::Node* val = 0, bool useXZRotationOnly = true) + { + mTargetNode = val; + mTargetXZRotationOnly = useXZRotationOnly; + } + + Ogre::Real getAutoRotateTime() const { return mAutoRotateTime; } + void setAutoRotateTime(Ogre::Real val) { mAutoRotateTime = val; } + + private: + Ogre::MovableObject* mObject; + + Ogre::SceneNode* mSceneNode; + Ogre::Vector3 mOriginalDirection; + Ogre::Node* mTargetNode; + bool mTargetXZRotationOnly; + + Ogre::Real mHeightBonus; + ObjectHandler* mObjectHandler; + + Ogre::Real mAutoClampTime; + + Ogre::Real mCurClampTime; + Ogre::Real mAutoRotateTime; + Ogre::Real mCurRotateTime; + + Terrain::AutoClampState mAutoClampState; + }; + +#if (USE_SINGLETON == 1) + class ObjectHandler : public Ogre::Singleton<ObjectHandler> +#else + class ObjectHandler +#endif + { + public: + ObjectHandler(); + ObjectHandler(Ogre::SceneManager* pSceneMgr, Terrain* pTerrain); + + ~ObjectHandler(); + +#if (USE_SINGLETON == 1) + static ObjectHandler& getSingleton(); + + static ObjectHandler* getSingletonPtr(); +#endif + + SceneObject* createSceneObject( + const Ogre::String& entityName, + const Ogre::String& meshName, + const Ogre::Vector3& position = Ogre::Vector3::ZERO, + const Ogre::Quaternion& rotation = Ogre::Quaternion::IDENTITY, + Terrain::AutoClampState autoClampState = Terrain::ACS_OFF, + bool useObjectBBFloor = false, + Ogre::Real heightBonus = 0.0f); + + SceneObject* createSceneObject( + const Ogre::String& entityName, + const Ogre::String& meshName, + const Ogre::String& sceneNodeName, + const Ogre::Vector3& position = Ogre::Vector3::ZERO, + const Ogre::Quaternion& rotation = Ogre::Quaternion::IDENTITY, + Terrain::AutoClampState autoClampState = Terrain::ACS_OFF, + bool useObjectBBFloor = false, + Ogre::Real heightBonus = 0.0f); + + SceneObject* createSceneObject( + Ogre::MovableObject* movableObject, + const Ogre::String& sceneNodeName, + const Ogre::Vector3& position = Ogre::Vector3::ZERO, + const Ogre::Quaternion& rotation = Ogre::Quaternion::IDENTITY, + Terrain::AutoClampState autoClampState = Terrain::ACS_OFF, + bool useObjectBBFloor = false, + Ogre::Real heightBonus = 0.0f); + + SceneObject* createSceneObject( + Ogre::MovableObject* movableObject, + const Ogre::Vector3& position = Ogre::Vector3::ZERO, + const Ogre::Quaternion& rotation = Ogre::Quaternion::IDENTITY, + Terrain::AutoClampState autoClampState = Terrain::ACS_OFF, + bool useObjectBBFloor = false, + Ogre::Real heightBonus = 0.0f); + + void _addSceneObjectToStorage(const Ogre::String& name, SceneObject* pObject); + + void destroySceneObject(SceneObject* pObject); + + void destroyAllSceneObjects(); + + void updateObjects(Ogre::Real fTime); + + + Ogre::SceneManager* getSceneMgr() const { return mSceneMgr; } + void setSceneMgr(Ogre::SceneManager* val) { mSceneMgr = val; } + + Terrain* getTerrain() const { return mTerrain; } + void setTerrain(Terrain* val) { mTerrain = val; } + + bool getUseRootTerrainHeight() const { return mUseRootTerrainHeight; } + void setUseRootTerrainHeight(bool val) { mUseRootTerrainHeight = val; } + + bool getUseGeoMorphTerrainHeight() const { return mUseGeoMorphTerrainHeight; } + void setUseGeoMorphTerrainHeight(bool val) { mUseGeoMorphTerrainHeight = val; } + + private: + typedef std::map<Ogre::String, SceneObject*> SceneObjectStorage; + SceneObjectStorage mStorage; + + Ogre::SceneManager* mSceneMgr; + Terrain* mTerrain; + + bool mUseRootTerrainHeight; + + bool mUseGeoMorphTerrainHeight; + + }; +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/library/include/ObjectHandler.h ___________________________________________________________________ Name: svn:eol-style + native Modified: trunk/simplepagedterrain/trunk/library/include/Prerequisites.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/Prerequisites.h 2008-07-01 15:10:10 UTC (rev 2458) +++ trunk/simplepagedterrain/trunk/library/include/Prerequisites.h 2008-07-02 04:51:10 UTC (rev 2459) @@ -14,6 +14,8 @@ class Terrain; class TerrainMesh; class TerrainModifier; + class ObjectHandler; + class SceneObject; class QuadTree; class QNode; class Heightmap; Modified: trunk/simplepagedterrain/trunk/library/include/Terrain.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/Terrain.h 2008-07-01 15:10:10 UTC (rev 2458) +++ trunk/simplepagedterrain/trunk/library/include/Terrain.h 2008-07-02 04:51:10 UTC (rev 2459) @@ -12,6 +12,8 @@ namespace SPT { + class ObjectHandler; + class SceneObject; #if (USE_SINGLETON == 1) class Terrain : public Ogre::Singleton<Terrain> #else @@ -63,6 +65,15 @@ mClampUseGeoMorph = useMorph; } + enum AutoClampUpdateState + { + ACUS_MOVEMENT = 0, + ACUS_TIME, + ACUS_BOTH + }; + + + Ogre::Real getSkirtLength() const { return mSkirtLength; } void setSkirtLength(Ogre::Real val) { mSkirtLength = val; } void setSkirtLengthPercent(Ogre::Real val = 10.0f){ mSkirtLength = mTerrainHeight * (val / 100.0f);} @@ -70,6 +81,9 @@ Ogre::Real getMorphSpeed() const { return mMorphSpeed; } void setMorphSpeed(Ogre::Real val) { mMorphSpeed = val; } + Ogre::Real getLODCheckTime() const { return mLODCheckTime; } + void setLODCheckTime(Ogre::Real val) { mLODCheckTime = val; } + //void setTerrainNode(Ogre::SceneNode* pTerrainNode){mTerrainNode = pTerrainNode;} Ogre::SceneNode* getTerrainNode(){return mTerrainNode;} @@ -179,9 +193,20 @@ size_t iHeightmapWidth, const Ogre::String& strTerrainMaterialName, Ogre::Real fTerrainWidth, - Ogre::Real fTerrainHeight ); + Ogre::Real fTerrainHeight, + Ogre::Real fTerrainQuickLoadTime = 3.0f); + void quickSetup( + const Ogre::String& strHeightmapName, + const Ogre::String& strTerrainMaterialName, + Ogre::Real fTerrainWidth, + Ogre::Real fTerrainHeight, + Ogre::Real fTerrainQuickLoadTime = 3.0f ); + ObjectHandler* getObjectHandler() const { return mObjectHandler; } + void setObjectHandler(ObjectHandler* val) { mObjectHandler = val; } + + private: typedef std::map<size_t, Ogre::IndexData*> IndexStorage; IndexStorage mIndexStore; @@ -195,7 +220,13 @@ Ogre::Real mTerrainHeight; Ogre::Real mSkirtLength; Ogre::Real mMorphSpeed; + Ogre::Real mLODCheckTime; + Ogre::Real mPreMorphSpeed; + Ogre::Real mPreLODCheckTime; + bool mInitialized; + Ogre::Real mQuickLoadTime; + AutoClampState mClampState; Ogre::Real mClampBonusHeight; bool mClampUseRoot; @@ -216,6 +247,8 @@ HeightmapReader* mSingleton; + ObjectHandler* mObjectHandler; + Ogre::Vector3 mLightDirection; bool mAutoUpdateLightmap; Modified: trunk/simplepagedterrain/trunk/library/scripts/SPTv2.vcproj =================================================================== --- trunk/simplepagedterrain/trunk/library/scripts/SPTv2.vcproj 2008-07-01 15:10:10 UTC (rev 2458) +++ trunk/simplepagedterrain/trunk/library/scripts/SPTv2.vcproj 2008-07-02 04:51:10 UTC (rev 2459) @@ -376,6 +376,18 @@ </File> </Filter> </Filter> + <Filter + Name="ObjectHandler" + > + <File + RelativePath="..\src\ObjectHandler.cpp" + > + </File> + <File + RelativePath="..\include\ObjectHandler.h" + > + </File> + </Filter> </Filter> </Filter> </Files> Added: trunk/simplepagedterrain/trunk/library/src/ObjectHandler.cpp =================================================================== --- trunk/simplepagedterrain/trunk/library/src/ObjectHandler.cpp (rev 0) +++ trunk/simplepagedterrain/trunk/library/src/ObjectHandler.cpp 2008-07-02 04:51:10 UTC (rev 2459) @@ -0,0 +1,338 @@ +#include "ObjectHandler.h" + + + +#include <OgreSceneManager.h> +#include <OgreEntity.h> +#include <OgreMovableObject.h> + + +using namespace SPT; +using namespace Ogre; +using namespace std; + +#if (USE_SINGLETON == 1) +template<> SPT::ObjectHandler* Ogre::Singleton<SPT::ObjectHandler>::ms_Singleton = 0; +#endif + +namespace SPT +{ + + + SceneObject::SceneObject( + ObjectHandler* objectHandler, + Ogre::MovableObject* movableObject, + Ogre::SceneNode* sceneNode, + Terrain::AutoClampState autoClampState, + Ogre::Real heightBonus ) + : mObjectHandler(objectHandler), + mObject(movableObject), + mSceneNode(sceneNode), + mAutoClampState(autoClampState), + mHeightBonus(heightBonus), + mOriginalDirection(Ogre::Vector3::UNIT_Z), + mTargetNode(0), + mTargetXZRotationOnly(true), + mAutoClampTime(0.0f), + mAutoRotateTime(0.0f), + mCurClampTime(0.0f), + mCurRotateTime(0.0f) + { + + } + + SceneObject::~SceneObject() + { + if (mSceneNode) + { + mSceneNode->detachAllObjects(); + mSceneNode->getParentSceneNode()->removeAndDestroyChild(mSceneNode->getName()); + } + if (mObject) + { + mObjectHandler->getSceneMgr()->destroyMovableObject(mObject); + } + } + + void SceneObject::update( Ogre::Real fTime ) + { + Vector3 pos = mSceneNode->getPosition(); + switch(mAutoClampState) + { + case Terrain::ACS_ALWAYS: + mCurClampTime += fTime; + if (mCurClampTime >= mAutoClampTime) + { + mCurClampTime = 0.0f; + if (mObjectHandler->getTerrain()->getHeightAt( + pos,mHeightBonus, + mObjectHandler->getUseRootTerrainHeight(), + mObjectHandler->getUseGeoMorphTerrainHeight())) + { + mSceneNode->setPosition(pos); + } + } + break; + case Terrain::ACS_BELOW: + mCurClampTime += fTime; + if (mCurClampTime >= mAutoClampTime) + { + mCurClampTime = 0.0f; + if (mObjectHandler->getTerrain()->getHeightAt( + pos,mHeightBonus, + mObjectHandler->getUseRootTerrainHeight(), + mObjectHandler->getUseGeoMorphTerrainHeight())) + { + if (pos.y > mSceneNode->getPosition().y) + mSceneNode->setPosition(pos); + } + } + break; + default: + break; + } + + if (mTargetNode) + { + mCurRotateTime += fTime; + if (mCurRotateTime >= mAutoRotateTime) + { + mCurRotateTime = 0.0f; + if (mTargetXZRotationOnly) + turnTowardsPointXZ(mTargetNode->_getDerivedPosition()); + else + turnTowardsPoint(mTargetNode->_getDerivedPosition()); + } + } + } + + void SceneObject::useBoundingBoxBase() + { + const AxisAlignedBox& aabb = mObject->getBoundingBox(); + Real bottom = aabb.getMinimum().y; + Real center = aabb.getCenter().y; + mHeightBonus = center - bottom; + } + + void SceneObject::biasHeightBonusPercent( Ogre::Real percent ) + { + const AxisAlignedBox& aabb = mObject->getBoundingBox(); + Real bottom = aabb.getMinimum().y; + Real top = aabb.getMaximum().y; + Real total = top - bottom; + mHeightBonus += total * (percent / 100.0f); + } + + void SceneObject::moveObject( const Ogre::Vector3& pos /*= Ogre::Vector3::ZERO*/ ) + { + mSceneNode->setPosition(pos); + } + + void SceneObject::translateObject( const Ogre::Vector3& translation /*= Ogre::Vector3::ZERO*/ ) + { + mSceneNode->translate(translation); + } + + void SceneObject::setRotation( const Ogre::Quaternion& rotation /*= Ogre::Quaternion::IDENTITY*/ ) + { + mSceneNode->setOrientation(rotation); + } + + void SceneObject::rotateXZ( const Ogre::Degree rotation /*= Ogre::Degree() */ ) + { + Quaternion yRot(rotation, Vector3::UNIT_Y); + mSceneNode->rotate(yRot); + } + + void SceneObject::turnTowardsPoint( const Ogre::Vector3& target, bool useXZFirst /*= true*/ ) + { + Vector3 direction = target - mSceneNode->getPosition(); + Quaternion qRotXZ = mOriginalDirection.getRotationTo(Vector3(direction.x,mOriginalDirection.y,direction.z)); + Quaternion qRotY = Vector3(direction.x,0.0f,direction.z).normalisedCopy().getRotationTo(direction); + mSceneNode->setOrientation(qRotY * qRotXZ); + } + + void SceneObject::turnTowardsPointXZ( const Ogre::Vector3& target ) + { + Vector3 direction = target - mSceneNode->getPosition(); + Quaternion qRotXZ = mOriginalDirection.getRotationTo(Vector3(direction.x,mOriginalDirection.y,direction.z)); + //Quaternion qRotY = Vector3(direction.x,0.0f,direction.z).normalisedCopy().getRotationTo(direction); + mSceneNode->setOrientation(qRotXZ);// * qRotY); + } + ////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////////////////////// + +#if (USE_SINGLETON == 1) + ObjectHandler* ObjectHandler::getSingletonPtr(void) + { + return ms_Singleton; + } + ObjectHandler& ObjectHandler::getSingleton(void) + { + assert( ms_Singleton ); return ( *ms_Singleton ); + } +#endif + + ObjectHandler::ObjectHandler() + : mSceneMgr(0), + mTerrain(0), + mUseGeoMorphTerrainHeight(false), + mUseRootTerrainHeight(false) + { + + } + + ObjectHandler::ObjectHandler( Ogre::SceneManager* pSceneMgr, Terrain* pTerrain ) + : mSceneMgr(pSceneMgr), + mTerrain(pTerrain), + mUseGeoMorphTerrainHeight(false), + mUseRootTerrainHeight(false) + { + + } + + + ObjectHandler::~ObjectHandler() + { + destroyAllSceneObjects(); + } + + SceneObject* ObjectHandler::createSceneObject( + const Ogre::String& entityName, + const Ogre::String& meshName, + const Ogre::Vector3& position /*= Ogre::Vector3::ZERO*/, + const Ogre::Quaternion& rotation /*= Ogre::Quaternion::IDENTITY*/, + Terrain::AutoClampState autoClampState /*= Terrain::AutoClampState::ACS_OFF*/, + bool useObjectBBFloor /*= false*/, + Ogre::Real heightBonus /*= 0.0f*/ ) + { + assert(mSceneMgr); + + Entity* pEnt = mSceneMgr->createEntity(entityName,meshName); + SceneNode* pNode = mSceneMgr->getRootSceneNode()->createChildSceneNode(position,rotation); + pNode->attachObject(pEnt); + + SceneObject* pObject = new SceneObject(this,pEnt,pNode,autoClampState,heightBonus); + if (useObjectBBFloor) + { + pObject->useBoundingBoxBase(); + } + + _addSceneObjectToStorage(entityName,pObject); + return pObject; + } + + SceneObject* ObjectHandler::createSceneObject( + const Ogre::String& entityName, + const Ogre::String& meshName, + const Ogre::String& sceneNodeName, + const Ogre::Vector3& position /*= Ogre::Vector3::ZERO*/, + const Ogre::Quaternion& rotation /*= Ogre::Quaternion::IDENTITY*/, + Terrain::AutoClampState autoClampState /*= Terrain::AutoClampState::ACS_OFF*/, + bool useObjectBBFloor /*= false*/, + Ogre::Real heightBonus /*= 0.0f*/ ) + { + assert(mSceneMgr); + + Entity* pEnt = mSceneMgr->createEntity(entityName,meshName); + SceneNode* pNode = mSceneMgr->getRootSceneNode()->createChildSceneNode(sceneNodeName,position,rotation); + pNode->attachObject(pEnt); + + SceneObject* pObject = new SceneObject(this,pEnt,pNode,autoClampState,heightBonus); + if (useObjectBBFloor) + { + pObject->useBoundingBoxBase(); + } + + _addSceneObjectToStorage(entityName,pObject); + return pObject; + } + + SceneObject* ObjectHandler::createSceneObject( + Ogre::MovableObject* movableObject, + const Ogre::String& sceneNodeName, + const Ogre::Vector3& position /*= Ogre::Vector3::ZERO*/, + const Ogre::Quaternion& rotation /*= Ogre::Quaternion::IDENTITY*/, + Terrain::AutoClampState autoClampState /*= Terrain::AutoClampState::ACS_OFF*/, + bool useObjectBBFloor /*= false*/, + Ogre::Real heightBonus /*= 0.0f*/ ) + { + assert(mSceneMgr); + + SceneNode* pNode = mSceneMgr->getRootSceneNode()->createChildSceneNode(sceneNodeName,position,rotation); + pNode->attachObject(movableObject); + + SceneObject* pObject = new SceneObject(this,movableObject,pNode,autoClampState,heightBonus); + if (useObjectBBFloor) + { + pObject->useBoundingBoxBase(); + } + + _addSceneObjectToStorage(movableObject->getName(),pObject); + return pObject; + } + + SceneObject* ObjectHandler::createSceneObject( + Ogre::MovableObject* movableObject, + const Ogre::Vector3& position /*= Ogre::Vector3::ZERO*/, + const Ogre::Quaternion& rotation /*= Ogre::Quaternion::IDENTITY*/, + Terrain::AutoClampState autoClampState /*= Terrain::AutoClampState::ACS_OFF*/, + bool useObjectBBFloor /*= false*/, + Ogre::Real heightBonus /*= 0.0f*/ ) + { + assert(mSceneMgr); + + SceneNode* pNode = mSceneMgr->getRootSceneNode()->createChildSceneNode(position,rotation); + pNode->attachObject(movableObject); + + SceneObject* pObject = new SceneObject(this,movableObject,pNode,autoClampState,heightBonus); + if (useObjectBBFloor) + { + pObject->useBoundingBoxBase(); + } + + _addSceneObjectToStorage(movableObject->getName(),pObject); + return pObject; + } + + void ObjectHandler::_addSceneObjectToStorage( const Ogre::String& name, SceneObject* pObject ) + { + SceneObjectStorage::iterator it = mStorage.find(name); + if (it != mStorage.end()) + { + it = mStorage.erase(it); + } + + mStorage.insert(it,SceneObjectStorage::value_type(name,pObject)); + } + + void ObjectHandler::destroySceneObject( SceneObject* pObject ) + { + String name = pObject->getObject()->getName(); + SceneObjectStorage::iterator it = mStorage.find(name); + if (it != mStorage.end()) + { + mStorage.erase(it); + } + } + + void ObjectHandler::updateObjects( Ogre::Real fTime ) + { + SceneObjectStorage::iterator it = mStorage.begin(); + while (it != mStorage.end()) + { + it->second->update(fTime); + ++it; + } + } + + void ObjectHandler::destroyAllSceneObjects() + { + SceneObjectStorage::iterator it = mStorage.begin(); + while (it != mStorage.end()) + { + delete it->second; + ++it; + } + } +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/library/src/ObjectHandler.cpp ___________________________________________________________________ Name: svn:eol-style + native Modified: trunk/simplepagedterrain/trunk/library/src/PNGHeightmapReader.cpp =================================================================== --- trunk/simplepagedterrain/trunk/library/src/PNGHeightmapReader.cpp 2008-07-01 15:10:10 UTC (rev 2458) +++ trunk/simplepagedterrain/trunk/library/src/PNGHeightmapReader.cpp 2008-07-02 04:51:10 UTC (rev 2459) @@ -23,19 +23,23 @@ size_t iSpacing /*= 1*/, bool bHasBorder /*= false*/ ) { - assert("Should have a width" && iWidth); + //assert("Should have a width" && iWidth); assert("Heightmap == 0" && pHeightmap); - pHeightmap->setWidth(iWidth); - pHeightmap->allocateData(); + Image img; img.load(strFileName,"General"); - size_t iMapWidth = img.getWidth(); + if (iWidth == 0) + iWidth = iMapWidth; + + pHeightmap->setWidth(iWidth); + pHeightmap->allocateData(); + HEIGHTMAPTYPE* pData = pHeightmap->getData(); size_t pos = 0; Modified: trunk/simplepagedterrain/trunk/library/src/Terrain.cpp =================================================================== --- trunk/simplepagedterrain/trunk/library/src/Terrain.cpp 2008-07-01 15:10:10 UTC (rev 2458) +++ trunk/simplepagedterrain/trunk/library/src/Terrain.cpp 2008-07-02 04:51:10 UTC (rev 2459) @@ -5,6 +5,7 @@ #include "HeightmapReader.h" #include "GPULightmapper.h" #include "AtmosphericCubeMap.h" +#include "ObjectHandler.h" #include <OgreMaterialManager.h> using namespace SPT; @@ -44,10 +45,16 @@ mClampUseGeoMorph(false), mSkirtLength(0.0f), mMorphSpeed(1.0f), + mLODCheckTime(1.0f), + mPreLODCheckTime(1.0f), + mPreMorphSpeed(1.0f), + mInitialized(false), mAutoUpdateLightmap(true) { mSingleton = new HeightmapReader(); + mObjectHandler = new ObjectHandler(0,this); + //mTerrainNode = mSceneMgr->getRootSceneNode()->createChildSceneNode(); } @@ -72,10 +79,16 @@ mClampUseGeoMorph(false), mSkirtLength(0.0f), mMorphSpeed(1.0f), + mLODCheckTime(1.0f), + mPreLODCheckTime(1.0f), + mPreMorphSpeed(1.0f), + mInitialized(false), mAutoUpdateLightmap(true) { mSingleton = new HeightmapReader(); + mObjectHandler = new ObjectHandler(mSceneMgr,this); + //mTerrainNode = mSceneMgr->getRootSceneNode()->createChildSceneNode(); } Terrain::~Terrain() @@ -160,6 +173,7 @@ void Terrain::destroy() { + mObjectHandler->destroyAllSceneObjects(); delete mSkyMap; mSkyMap = 0; @@ -172,6 +186,8 @@ delete mHeightmap; mHeightmap = 0; + + mInitialized = false; } bool Terrain::getHeightAt( Ogre::Vector3& vPos, Ogre::Real rBonus /*= 0.0f*/, bool bUseRoot /*= false*/, bool bUseGeoMorphing /*= false*/ ) @@ -251,8 +267,20 @@ break; } + if (mInitialized == false) + { + mQuickLoadTime -= fTime; + if (mQuickLoadTime <= 0.0f) + { + setLODCheckTime(mPreLODCheckTime); + setMorphSpeed(mPreMorphSpeed); + mInitialized = true; + } + } + + sTime += fTime; - if (sTime >= 1.0f) + if (sTime >= getLODCheckTime()) { mRootNode->runLODChecks(); sTime = 0.0f; @@ -262,6 +290,9 @@ if (mSkyMap) mSkyMap->updatePosition(); + + if (mObjectHandler) + mObjectHandler->updateObjects(fTime); } } @@ -418,16 +449,32 @@ size_t iHeightmapWidth, const Ogre::String& strTerrainMaterialName, Ogre::Real fTerrainWidth, - Ogre::Real fTerrainHeight ) + Ogre::Real fTerrainHeight, + Ogre::Real fTerrainQuickLoadTime /*= 1.0f*/ ) { setMaterial(strTerrainMaterialName); mWidth = fTerrainWidth; mTerrainHeight = fTerrainHeight; + mQuickLoadTime = fTerrainQuickLoadTime; + mPreLODCheckTime = mLODCheckTime; + mPreMorphSpeed = mMorphSpeed; + mMorphSpeed = 0.0f; + mLODCheckTime = 0.0f; + initialize(strHeightmapName,iHeightmapWidth); } + void Terrain::quickSetup( + const Ogre::String& strHeightmapName, + const Ogre::String& strTerrainMaterialName, + Ogre::Real fTerrainWidth, + Ogre::Real fTerrainHeight, + Ogre::Real fTerrainQuickLoadTime /*= 1.0f*/ ) + { + quickSetup(strHeightmapName,0,strTerrainMaterialName,fTerrainWidth,fTerrainHeight,fTerrainQuickLoadTime); + } void Terrain::setLightDirection( const Ogre::Vector3& vLightDir ) { mLightDirection = vLightDir; Modified: trunk/simplepagedterrain/trunk/library/src/TerrainMesh.cpp =================================================================== --- trunk/simplepagedterrain/trunk/library/src/TerrainMesh.cpp 2008-07-01 15:10:10 UTC (rev 2458) +++ trunk/simplepagedterrain/trunk/library/src/TerrainMesh.cpp 2008-07-02 04:51:10 UTC (rev 2459) @@ -820,10 +820,10 @@ mVertexData->vertexBufferBinding->setBinding(1,mDeltaBuffers[0]); - + mBuilt = true; - mBuilt = true; + destroyGeometryData(); } void TerrainMesh::getRenderOperation( Ogre::RenderOperation& op ) @@ -1321,12 +1321,16 @@ void TerrainMesh::destroyGeometryData() { - for (size_t i=0;i<mUVSets;i++) + if (mUVCoordinates) { - delete[] mUVCoordinates[i]; - mUVCoordinates[i] = 0; + for (size_t i=0;i<mUVSets;i++) + { + delete[] mUVCoordinates[i]; + mUVCoordinates[i] = 0; + } } + delete[] mUVCoordinates; mUVCoordinates = 0; Added: trunk/simplepagedterrain/trunk/media/SPT2_Low.program =================================================================== --- trunk/simplepagedterrain/trunk/media/SPT2_Low.program (rev 0) +++ trunk/simplepagedterrain/trunk/media/SPT2_Low.program 2008-07-02 04:51:10 UTC (rev 2459) @@ -0,0 +1,23 @@ +vertex_program SPT2_Low_VS hlsl +{ + source SPT2_Low.source + entry_point vs_main + target vs_2_0 + + 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 hlsl +{ + source SPT2_Low.source + entry_point ps_main + target ps_2_0 +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/media/SPT2_Low.program ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/media/SPT2_Low.source =================================================================== --- trunk/simplepagedterrain/trunk/media/SPT2_Low.source (rev 0) +++ trunk/simplepagedterrain/trunk/media/SPT2_Low.source 2008-07-02 04:51:10 UTC (rev 2459) @@ -0,0 +1,127 @@ +#define USE_SCATTERING + +float4x4 matWorldViewProj; +float4x4 matWorld; +float4 vViewPosition; +float morphFactor; +//float3 parentUVOffset; + +float fMaxDistance; +//float fRoadScale; +float4 vSplatScales; +float4 vDetailScales; + +struct VS_INPUT +{ + float4 Pos : POSITION0; + float2 Tex : TEXCOORD0; + float2 Tex2: TEXCOORD1; + //float4 Color : COLOR0; + float delta: BLENDWEIGHT; +}; + +struct VS_OUTPUT +{ + float4 Pos : POSITION0; + float2 Tex : TEXCOORD0; + float4 Splat12 : TEXCOORD1; + float4 Splat34 : TEXCOORD2; + float2 Detail : TEXCOORD3; + float4 Depth : TEXCOORD4; +}; + +VS_OUTPUT vs_main( VS_INPUT Input ) +{ + VS_OUTPUT Output; + + Input.Pos.y += Input.delta * morphFactor; + + + Output.Pos = mul( matWorldViewProj, Input.Pos); + float3 vWorldPos = mul(matWorld, Input.Pos).xyz; + + //float3 EyeDir = vViewPosition.xyz - vWorldPos; + float3 EyeDir = vWorldPos - vViewPosition.xyz; + //EyeDir.z *= -1; + float Depth = length(EyeDir); + + Output.Depth.xyz = EyeDir / Depth; + Output.Depth.w = Depth / fMaxDistance; + + + Output.Tex = Input.Tex; + + Output.Splat12.xy = vWorldPos.xz / vSplatScales.x; + Output.Splat12.zw = vWorldPos.xz / vSplatScales.y; + Output.Splat34.xy = vWorldPos.xz / vSplatScales.z; + Output.Splat34.zw = vWorldPos.xz / vSplatScales.w; + + Output.Detail = Input.Tex * vDetailScales.x; + //Output.Details12.zw = Input.Tex * vDetailScales.y; + + //Output.Road = Input.Tex * fRoadScale; + + return Output; +} + +sampler2D Coverage; +sampler2D Splat; +sampler2D Lightmap; +sampler2D Splat1; +sampler2D Splat2; +sampler2D Splat3; +sampler2D Splat4; + +sampler2D Detail1; +//sampler2D Detail2; +sampler1D Extinction; +samplerCUBE SkyBox; + +struct PS_INPUT +{ + float2 texCoord: TEXCOORD0; + float4 Splat12 : TEXCOORD1; + float4 Splat34 : TEXCOORD2; + float2 Detail : TEXCOORD3; + float4 Depth : TEXCOORD4; +}; + +float4 ps_main( PS_INPUT Input ) : COLOR +{ + + float4 fLight = tex2D(Lightmap, Input.texCoord); + + float4 vCoverageColor = tex2D(Coverage, Input.texCoord); + + + float4 vSplatColor = tex2D(Splat, Input.texCoord); + vSplatColor /= vSplatColor.x + vSplatColor.y + vSplatColor.z + vSplatColor.w; + float4 vSplat1 = tex2D(Splat1, Input.Splat12.xy) * vSplatColor.x; + float4 vSplat2 = tex2D(Splat2, Input.Splat12.zw) * vSplatColor.y; + float4 vSplat3 = tex2D(Splat3, Input.Splat34.xy) * vSplatColor.z; + float4 vSplat4 = tex2D(Splat4, Input.Splat34.zw) * vSplatColor.w; + + + float4 oColor = vSplat1 + vSplat2 + vSplat3 + vSplat4; + + + float fDetail = tex2D(Detail1, Input.Detail).x; + + oColor *= fDetail; + + oColor.xyz *= vCoverageColor.xyz * 0.9f; + + oColor *= (fLight.w * 2.0 + 0.5); + +#ifdef USE_SCATTERING + float3 SkyColor = texCUBE(SkyBox, Input.Depth.xyz); + float ExtinctionVal = tex1D(Extinction, saturate(Input.Depth.w)); + + oColor.xyz = lerp(SkyColor, oColor.xyz , ExtinctionVal); +#endif + + return float4(oColor.xyz,1); +//return float4(oColor.x,0,0,1); + +} + Property changes on: trunk/simplepagedterrain/trunk/media/SPT2_Low.source ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/media/SPT2_Mat.material =================================================================== --- trunk/simplepagedterrain/trunk/media/SPT2_Mat.material (rev 0) +++ trunk/simplepagedterrain/trunk/media/SPT2_Mat.material 2008-07-02 04:51:10 UTC (rev 2459) @@ -0,0 +1,229 @@ +material SPT2_Medium +{ + technique Medium + { + pass + { + vertex_program_ref SPT2_Medium_VS + { + param_named fMaxDistance float 40000 + param_named vSplatScales float4 300 400 220 150 + param_named vDetailScales float4 1000 10000 1 1 + } + + fragment_program_ref SPT2_Medium_PS + { + + } + + texture_unit Coverage + { + texture_alias Coverage + filtering bilinear + tex_address_mode clamp + tex_coord_set 0 + } + texture_unit SplatMap + { + texture_alias SplatMap + filtering bilinear + tex_address_mode clamp + tex_coord_set 1 + } + texture_unit Lightmap + { + texture_alias Lightmap + filtering bilinear + tex_address_mode clamp + tex_coord_set 2 + } + texture_unit Splat1 + { + texture_alias Splat1 + filtering trilinear + tex_coord_set 3 + } + texture_unit Splat2 + { + texture_alias Splat2 + filtering trilinear + tex_coord_set 4 + } + texture_unit Splat3 + { + texture_alias Splat3 + filtering trilinear + tex_coord_set 5 + } + texture_unit Splat4 + { + texture_alias Splat4 + filtering trilinear + tex_coord_set 6 + } + + texture_unit Detail1 + { + texture_alias Detail1 + filtering trilinear + tex_coord_set 7 + } + + texture_unit Detail2 + { + texture_alias Detail2 + filtering trilinear + tex_coord_set 8 + } + texture_unit Extinction + { + texture_alias Extinction + filtering bilinear + tex_coord_set 9 + } + texture_unit SkyBox + { + texture_alias SkyBox + tex_coord_set 10 + } + + } + } +} + +material SPT2_Medium_Scheme : SPT2_Medium +{ + technique Medium + { + scheme Medium + + pass 0 + { + vertex_program_ref SPT2_Medium_VS + { + param_named fMaxDistance float 40000 + param_named vSplatScales float4 300 400 220 150 + param_named vDetailScales float4 1000 10000 1 1 + } + } + } +} + +material SPT2_Low : SPT2_Medium_Scheme +{ + technique Low + { + pass + { + vertex_program_ref SPT2_Low_VS + { + param_named fMaxDistance float 40000 + param_named vSplatScales float4 300 400 220 150 + param_named vDetailScales float4 1000 10000 1 1 + } + + fragment_program_ref SPT2_Low_PS + { + + } + + texture_unit Coverage + { + texture_alias Coverage + filtering bilinear + tex_address_mode clamp + tex_coord_set 0 + } + texture_unit SplatMap + { + texture_alias SplatMap + filtering bilinear + tex_address_mode clamp + tex_coord_set 1 + } + texture_unit Lightmap + { + texture_alias Lightmap + filtering bilinear + tex_address_mode clamp + tex_coord_set 2 + } + texture_unit Splat1 + { + texture_alias Splat1 + filtering trilinear + tex_coord_set 3 + } + texture_unit Splat2 + { + texture_alias Splat2 + filtering trilinear + tex_coord_set 4 + } + texture_unit Splat3 + { + texture_alias Splat3 + filtering trilinear + tex_coord_set 5 + } + texture_unit Splat4 + { + texture_alias Splat4 + filtering trilinear + tex_coord_set 6 + } + + texture_unit Detail1 + { + texture_alias Detail1 + filtering trilinear + tex_coord_set 7 + } + texture_unit Extinction + { + texture_alias Extinction + filtering bilinear + tex_coord_set 8 + } + texture_unit SkyBox + { + texture_alias SkyBox + tex_coord_set 9 + } + + } + } +} + +material SPT2_Low_Scheme : SPT2_Low +{ + technique Low + { + scheme Low + pass 0 + { + vertex_program_ref SPT2_Low_VS + { + param_named fMaxDistance float 40000 + param_named vSplatScales float4 300 400 220 150 + param_named vDetailScales float4 1000 10000 1 1 + } + } + } +} + +material SPT2_EarlyZ_Scheme : SPT2_Low_Scheme +{ + technique EarlyZ + { + scheme EarlyZ + pass 0 + { + colour_write off + vertex_program_ref SPT2_EarlyZ_VS + { + + } + } + } +} Property changes on: trunk/simplepagedterrain/trunk/media/SPT2_Mat.material ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/media/SPT2_Medium.program =================================================================== --- trunk/simplepagedterrain/trunk/media/SPT2_Medium.program (rev 0) +++ trunk/simplepagedterrain/trunk/media/SPT2_Medium.program 2008-07-02 04:51:10 UTC (rev 2459) @@ -0,0 +1,23 @@ +vertex_program SPT2_Medium_VS hlsl +{ + source SPT2_Medium.source + entry_point vs_main + target vs_3_0 + + 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_Medium_PS hlsl +{ + source SPT2_Medium.source + entry_point ps_main + target ps_3_0 +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/media/SPT2_Medium.program ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/media/SPT2_Medium.source =================================================================== --- trunk/simplepagedterrain/trunk/media/SPT2_Medium.source (rev 0) +++ trunk/simplepagedterrain/trunk/media/SPT2_Medium.source 2008-07-02 04:51:10 UTC (rev 2459) @@ -0,0 +1,212 @@ +#define USE_SCATTERING + +float4x4 matWorldViewProj; +float4x4 matWorld; +float4 vViewPosition; +float morphFactor; +//float3 parentUVOffset; + +float fMaxDistance; +//float fRoadScale; +float4 vSplatScales; +float4 vDetailScales; + +struct VS_INPUT +{ + float4 Pos : POSITION0; + float3 Norm: NORMAL0; + float2 Tex : TEXCOORD0; + float2 Tex2: TEXCOORD1; + //float4 Color : COLOR0; + float delta: BLENDWEIGHT; +}; + +struct VS_OUTPUT +{ + float4 Pos : POSITION0; + float2 Tex : TEXCOORD0; + float3 Splat1 : TEXCOORD1; + float3 Splat2 : TEXCOORD2; + float3 Splat3 : TEXCOORD3; + float3 Splat4 : TEXCOORD4; + float3 Normal : TEXCOORD5; + float4 Details12 : TEXCOORD6; + float4 Depth : TEXCOORD7; +}; + +VS_OUTPUT vs_main( VS_INPUT Input ) +{ + VS_OUTPUT Output; + + Input.Pos.y += Input.delta * morphFactor; + + + Output.Pos = mul( matWorldViewProj, Input.Pos); + float3 vWorldPos = mul(matWorld, Input.Pos).xyz; + Output.Normal = Input.Norm; + + //float3 EyeDir = vViewPosition.xyz - vWorldPos; + float3 EyeDir = vWorldPos - vViewPosition.xyz; + //EyeDir.z *= -1; + float Depth = length(EyeDir); + + Output.Depth.xyz = EyeDir / Depth; + Output.Depth.w = Depth / (fMaxDistance * 2.0f); + + + Output.Tex = Input.Tex; + + Output.Splat1 = vWorldPos / vSplatScales.x; + Output.Splat2 = vWorldPos / vSplatScales.y; + Output.Splat3 = vWorldPos / vSplatScales.z; + Output.Splat4 = vWorldPos / vSplatScales.w; + + + //float3 vSplat1 = vWorldPos / vSplatScales.x; + //float3 vSplat2 = vWorldPos / vSplatScales.y; + //float3 vSplat3 = vWorldPos / vSplatScales.z; + //float3 vSplat4 = vWorldPos / vSplatScales.w; + + //Output.Splat1 = float4(vSplat1,vSplat4.x); + //Output.Splat2 = float4(vSplat2,vSplat4.y); + //Output.Splat3 = float4(vSplat3,vSplat4.z); + + + Output.Details12.xy = Input.Tex * vDetailScales.x; + Output.Details12.zw = Input.Tex * vDetailScales.y; + + //Output.Road = Input.Tex * fRoadScale; + + return Output; +} + +sampler2D Coverage; +sampler2D Splat; +sampler2D Lightmap; +sampler2D Splat1; +sampler2D Splat2; +sampler2D Splat3; +sampler2D Splat4; + +sampler2D Detail1; +sampler2D Detail2; +sampler1D Extinction; +samplerCUBE SkyBox; + +struct PS_INPUT +{ + float2 texCoord : TEXCOORD0; + float3 Splat1 : TEXCOORD1; + float3 Splat2 : TEXCOORD2; + float3 Splat3 : TEXCOORD3; + float3 Splat4 : TEXCOORD4; + float3 Normal : TEXCOORD5; + float4 Details12 : TEXCOORD6; + float4 Depth : TEXCOORD7; +}; + +float4 ps_main( PS_INPUT Input ) : COLOR +{ + + + //float3 vNorm = normalize(Input.Normal); + + float4 fLight = tex2D(Lightmap, Input.texCoord); + float3 vNorm = (fLight.xyz * 2.0f) - 1.0f; + + float3 blendWeights = abs(vNorm)-0.2; + blendWeights *= 7.0; + blendWeights = pow(blendWeights, 3.0); + blendWeights = max(0.0, blendWeights); + + blendWeights /= dot(blendWeights,1.0); + + + + + float4 vCoverageColor = tex2D(Coverage, Input.texCoord); + + + float4 oColor = float4(0,0,0,0); + + float4 vSplatColor = tex2D(Splat, Input.texCoord); + vSplatColor /= vSplatColor.x + vSplatColor.y + vSplatColor.z + vSplatColor.w; + float4 vSplat1 = float4(0,0,0,1); + float4 vSplat2 = float4(0,0,0,1); + float4 vSplat3 = float4(0,0,0,1); + float4 vSplat4 = float4(0,0,0,1); + + // Tri-planar + + if (vSplatColor.x > 0.0f) + { + // Splat1 + + + vSplat1.xyz = tex2D(Splat1, Input.Splat1.yz).xyz * blendWeights.x + + tex2D(Splat1, Input.Splat1.xz).xyz * blendWeights.y + + tex2D(Splat1, Input.Splat1.xy).xyz * blendWeights.z; + vSplat1.xyz *= vSplatColor.x; + } + if (vSplatColor.y > 0.0f) + { + + + vSplat2.xyz = tex2D(Splat2, Input.Splat2.yz).xyz * blendWeights.x + + tex2D(Splat2, Input.Splat2.xz).xyz * blendWeights.y + + tex2D(Splat2, Input.Splat2.xy).xyz * blendWeights.z; + vSplat2.xyz *= vSplatColor.y; + } + + if (vSplatColor.z > 0.0f) + { + + vSplat3.xyz = tex2D(Splat3, Input.Splat3.yz).xyz * blendWeights.x + + tex2D(Splat3, Input.Splat3.xz).xyz * blendWeights.y + + tex2D(Splat3, Input.Splat3.xy).xyz * blendWeights.z; + vSplat3.xyz *= vSplatColor.z; + } + + if (vSplatColor.w > 0.0f) + { + // Splat4 + + + vSplat4.xyz = tex2D(Splat4, Input.Splat4.yz).xyz * blendWeights.x + + tex2D(Splat4, Input.Splat4.xz).xyz * blendWeights.y + + tex2D(Splat4, Input.Splat4.xy).xyz * blendWeights.z; + vSplat4.xyz *= vSplatColor.w; + } + + oColor = vSplat1 + vSplat2 + vSplat3 + vSplat4; + + + float fDetail1 = tex2D(Detail1, Input.Details12.xy).x; + float fDetail2 = tex2D(Detail2, Input.Details12.zw).x; + + oColor *= fDetail1 * fDetail2; + + //oColor *= (1 + vNoise); + + oColor.xyz *= vCoverageColor.xyz * 0.9f; + + //float4 vRoad = tex2D(Road, Input.Road) * vCoverageColor.w; + + //oColor *= (1.0f - vCoverageColor.w); + //oColor += vRoad; + + + + oColor *= (fLight.w * 2.0 + 0.5); + +#ifdef USE_SCATTERING + float3 SkyColor = texCUBE(SkyBox, Input.Depth.xyz); + float ExtinctionVal = tex1D(Extinction, saturate(Input.Depth.w)); + + oColor.xyz = lerp(SkyColor, oColor.xyz , ExtinctionVal); +#endif + + return float4(oColor.xyz,1); + +} + Property changes on: trunk/simplepagedterrain/trunk/media/SPT2_Medium.source ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/media/SPT2_Shadow.program =================================================================== --- trunk/simplepagedterrain/trunk/media/SPT2_Shadow.program (rev 0) +++ trunk/simplepagedterrain/trunk/media/SPT2_Shadow.program 2008-07-02 04:51:10 UTC (rev 2459) @@ -0,0 +1,14 @@ +vertex_program SPT2_Shadow hlsl +{ + source SPT2_Shadow.source + target vs_2_0 + entry_point vs_main + + default_params + { + param_named_auto matWorldViewProjection worldviewproj_matrix + param_named_auto matWorld world_matrix + param_named_auto matTexProjection texture_viewproj_matrix + param_named_auto morphFactor custom 77 + } +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/media/SPT2_Shadow.program ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/media/SPT2_Shadow.source =================================================================== --- trunk/simplepagedterrain/trunk/media/SPT2_Shadow.source (rev 0) +++ trunk/simplepagedterrain/trunk/media/SPT2_Shadow.source 2008-07-02 04:51:10 UTC (rev 2459) @@ -0,0 +1,35 @@ +float4x4 matWorldViewProjection; +float4x4 matWorld; +float4x4 matTexProjection; +float morphFactor; + +struct VS_INPUT +{ + float4 Position : POSITION0; + float delta : BLENDWEIGHT; + +}; + +struct VS_OUTPUT +{ + float4 Position : POSITION0; + float4 ShadowTex: TEXCOORD0; + float4 ShadowTex2 : TEXCOORD1; + float4 Color : COLOR0; + +}; + +VS_OUTPUT vs_main( VS_INPUT Input ) +{ + VS_OUTPUT Output; + + Input.Position.y += (Input.delta * morphFactor); + + Output.Position = mul( matWorldViewProjection, Input.Position ); + Output.ShadowTex= mul(matTexProjection, mul(matWorld, Input.Position)); + Output.ShadowTex2=Output.ShadowTex; + Output.Color = float4(1,1,1,1); + + return( Output ); + +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/media/SPT2_Shadow.source ___________________________________________________________________ Name: svn:eol-style + native Modified: trunk/simplepagedterrain/trunk/media/materials/Highlands.material =================================================================== --- trunk/simplepagedterrain/trunk/media/materials/Highlands.material 2008-07-01 15:10:10 UTC (rev 2458) +++ trunk/simplepagedterrain/trunk/media/materials/Highlands.material 2008-07-02 04:51:10 UTC (rev 2459) @@ -1,9 +1,23 @@ -material SPT_Highlands +material SPT_HighlandsOld { technique { + scheme SSDepth pass { + vertex_program_ref SSDepth_VS + { + } + fragment_program_ref SSDepth_PS + { + } + } + + } + technique + { + pass + { vertex_program_ref SPT2_Medium_VS { Added: trunk/simplepagedterrain/trunk/media/materials/Ogre.material =================================================================== --- trunk/simplepagedterrain/trunk/media/materials/Ogre.material (rev 0) +++ trunk/simplepagedterrain/trunk/media/materials/Ogre.material 2008-07-02 04:51:10 UTC (rev 2459) @@ -0,0 +1,68 @@ +material Ogre/Earring +{ + technique + { + pass + { + ambient 0.5 0.5 0 + diffuse 1 1 0 + + texture_unit + { + texture spheremap.png + colour_op_ex add src_texture src_current + colour_op_multipass_fallback one one + env_map spherical + } + } + } +} +material Ogre/Skin +{ + technique + { + pass + { + ambient 0.7 0.7 0.7 + cull_hardware none + + texture_unit + { + texture GreenSkin.jpg + tex_address_mode mirror + } + } + } +} +material Ogre/Tusks +{ + technique + { + pass + { + ambient 0.5 0.5 0.4 + diffuse 1 1 0.8 + + texture_unit + { + texture dirt01.jpg + colour_op_ex add src_texture src_current + colour_op_multipass_fallback one one + } + } + } +} +material Ogre/Eyes +{ + technique + { + pass + { + + texture_unit + { + texture WeirdEye.png + } + } + } +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/media/materials/Ogre.material ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/media/materials/SPT2_Highlands.material =================================================================== --- trunk/simplepagedterrain/trunk/media/materials/SPT2_Highlands.material (rev 0) +++ trunk/simplepagedterrain/trunk/media/materials/SPT2_Highlands.material 2008-07-02 04:51:10 UTC (rev 2459) @@ -0,0 +1,11 @@ +material SPT_Highlands : SPT2_Low_Scheme +{ + set_texture_alias Coverage Highlands_Coverage.jpg + set_texture_alias SplatMap Highlands_Splat.dds + set_texture_alias Splat1 herbe_3.jpg + set_texture_alias Splat2 herbe_3.jpg + set_texture_alias Splat3 herbe_5.jpg + set_texture_alias Splat4 sand_025.jpg + set_texture_alias Detail1 detail_splat1.png + set_texture_alias Detail2 Detail3.jpg +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/media/materials/SPT2_Highlands.material ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/media/models/ogrehead.mesh =================================================================== (Binary files differ) Property changes on: trunk/simplepagedterrain/trunk/media/models/ogrehead.mesh ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/simplepagedterrain/trunk/media/textures/Dirt.jpg =================================================================== (Binary files differ) Property changes on: trunk/simplepagedterrain/trunk/media/textures/Dirt.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/simplepagedterrain/trunk/media/textures/GreenSkin.jpg =================================================================== (Binary files differ) Property changes on: trunk/simplepagedterrain/trunk/media/textures/GreenSkin.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/simplepagedterrain/trunk/media/textures/WeirdEye.png =================================================================== (Binary files differ) Property changes on: trunk/simplepagedterrain/trunk/media/textures/WeirdEye.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/simplepagedterrain/trunk/media/textures/spheremap.png =================================================================== (Binary files differ) Property changes on: trunk/simplepagedterrain/trunk/media/textures/spheremap.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Hex...@us...> - 2008-06-25 18:58:05
|
Revision: 2456 http://ogreaddons.svn.sourceforge.net/ogreaddons/?rev=2456&view=rev Author: HexiDave Date: 2008-06-25 11:57:31 -0700 (Wed, 25 Jun 2008) Log Message: ----------- Now you can disable automatic light-map generation to speed up deformations (before they'd always re-build the whole light-map). See demo update. Modified Paths: -------------- trunk/simplepagedterrain/trunk/demo/include/SPT_Demo.h trunk/simplepagedterrain/trunk/library/include/Terrain.h trunk/simplepagedterrain/trunk/library/src/Terrain.cpp Modified: trunk/simplepagedterrain/trunk/demo/include/SPT_Demo.h =================================================================== --- trunk/simplepagedterrain/trunk/demo/include/SPT_Demo.h 2008-06-22 20:24:44 UTC (rev 2455) +++ trunk/simplepagedterrain/trunk/demo/include/SPT_Demo.h 2008-06-25 18:57:31 UTC (rev 2456) @@ -61,6 +61,15 @@ mTimeUntilNextToggle = 0.2; } + if (mKeyboard->isKeyDown(OIS::KC_I) && mTimeUntilNextToggle <= 0) + { + if (gTerrain->getAutoUpdateLightmap() == false) + { + gTerrain->updateLightmap(); + } + mTimeUntilNextToggle = 1.0f; + } + if (mKeyboard->isKeyDown(OIS::KC_L) && mTimeUntilNextToggle <= 0) { @@ -202,8 +211,22 @@ gTerrain->createLightmapper("Lightmapper","SPT_Comp",2048,2049); gTerrain->setLightDirection(gSunLight->getDirection()); + + ////////////////////////////////////////////////// + /* UPDATE */ + ////////////////////////////////////////////////// + + /* + This is defaulted to true, so set this only if you + want total control over light-map generation. + Good for small/minor height changes. + */ + + // gTerrain->setAutoUpdateLightmap(false); + ////////////////////////////////////////////////// + //gTerrain->getAtmosphere()->exportSettings("TestExport.txt"); //gTerrain->getAtmosphere()->importSettings("TestExport.txt",true); Modified: trunk/simplepagedterrain/trunk/library/include/Terrain.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/Terrain.h 2008-06-22 20:24:44 UTC (rev 2455) +++ trunk/simplepagedterrain/trunk/library/include/Terrain.h 2008-06-25 18:57:31 UTC (rev 2456) @@ -118,6 +118,11 @@ void onFrameEnd(Ogre::Real fTime); + bool getAutoUpdateLightmap() const { return mAutoUpdateLightmap; } + void setAutoUpdateLightmap(bool val) { mAutoUpdateLightmap = val; } + + void updateLightmap(); + QNode* addTerrainModifier(TerrainModifier& pModifier); AtmosphericCubeMap* createAtmosphere( @@ -213,5 +218,6 @@ Ogre::Vector3 mLightDirection; + bool mAutoUpdateLightmap; }; } \ No newline at end of file Modified: trunk/simplepagedterrain/trunk/library/src/Terrain.cpp =================================================================== --- trunk/simplepagedterrain/trunk/library/src/Terrain.cpp 2008-06-22 20:24:44 UTC (rev 2455) +++ trunk/simplepagedterrain/trunk/library/src/Terrain.cpp 2008-06-25 18:57:31 UTC (rev 2456) @@ -43,7 +43,8 @@ mClampUseRoot(false), mClampUseGeoMorph(false), mSkirtLength(0.0f), - mMorphSpeed(1.0f) + mMorphSpeed(1.0f), + mAutoUpdateLightmap(true) { mSingleton = new HeightmapReader(); @@ -70,7 +71,8 @@ mClampUseRoot(false), mClampUseGeoMorph(false), mSkirtLength(0.0f), - mMorphSpeed(1.0f) + mMorphSpeed(1.0f), + mAutoUpdateLightmap(true) { mSingleton = new HeightmapReader(); @@ -278,13 +280,11 @@ pModifier.displace(mRootNode->getFloatingPointOffset(),mRootNode->getFloatingPointWidth(),mHeightmap,(1.0f / 65535.0f) * getTerrainHeight()); mRootNode->checkModifier(&pModifier); - if (mLightmapper) - { - mLightmapper->updateHeightmapBuffer(); - mLightmapper->updateLightmap(mLightDirection); - } + if (mAutoUpdateLightmap) + updateLightmap(); + return pHighestNode; } @@ -493,4 +493,13 @@ return false; } + + void Terrain::updateLightmap() + { + if (mLightmapper) + { + mLightmapper->updateHeightmapBuffer(); + mLightmapper->updateLightmap(mLightDirection); + } + } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bla...@us...> - 2008-06-22 20:24:37
|
Revision: 2455 http://ogreaddons.svn.sourceforge.net/ogreaddons/?rev=2455&view=rev Author: blakharaz Date: 2008-06-22 13:24:44 -0700 (Sun, 22 Jun 2008) Log Message: ----------- Updated Xcode project Modified Paths: -------------- trunk/meshmagick/meshmagick.xcodeproj/project.pbxproj Modified: trunk/meshmagick/meshmagick.xcodeproj/project.pbxproj =================================================================== --- trunk/meshmagick/meshmagick.xcodeproj/project.pbxproj 2008-06-21 17:52:31 UTC (rev 2454) +++ trunk/meshmagick/meshmagick.xcodeproj/project.pbxproj 2008-06-22 20:24:44 UTC (rev 2455) @@ -53,6 +53,14 @@ 445A0C470C4AAA500029E457 /* EditableSkeleton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 445A0C410C4AAA500029E457 /* EditableSkeleton.cpp */; }; 445A0C480C4AAA500029E457 /* RenameTool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 445A0C420C4AAA500029E457 /* RenameTool.cpp */; }; 445A0C490C4AAA500029E457 /* RenameToolFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 445A0C430C4AAA500029E457 /* RenameToolFactory.cpp */; }; + 48A52B7C0E0EEB48008DBDD8 /* EditableBone.h in Headers */ = {isa = PBXBuildFile; fileRef = 48A52B780E0EEB48008DBDD8 /* EditableBone.h */; }; + 48A52B7D0E0EEB48008DBDD8 /* EditableMesh.h in Headers */ = {isa = PBXBuildFile; fileRef = 48A52B790E0EEB48008DBDD8 /* EditableMesh.h */; }; + 48A52B7E0E0EEB48008DBDD8 /* MeshUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 48A52B7A0E0EEB48008DBDD8 /* MeshUtils.h */; }; + 48A52B7F0E0EEB48008DBDD8 /* ToolUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 48A52B7B0E0EEB48008DBDD8 /* ToolUtils.h */; }; + 48A52B840E0EEB56008DBDD8 /* EditableBone.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48A52B800E0EEB56008DBDD8 /* EditableBone.cpp */; }; + 48A52B850E0EEB56008DBDD8 /* EditableMesh.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48A52B810E0EEB56008DBDD8 /* EditableMesh.cpp */; }; + 48A52B860E0EEB56008DBDD8 /* MeshUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48A52B820E0EEB56008DBDD8 /* MeshUtils.cpp */; }; + 48A52B870E0EEB56008DBDD8 /* ToolsUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 48A52B830E0EEB56008DBDD8 /* ToolsUtils.cpp */; }; AA48EDD50C65333600DD2220 /* OptimiseTool.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = AA48EDD30C65333600DD2220 /* OptimiseTool.h */; }; AA48EDD60C65333600DD2220 /* OptimiseToolFactory.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = AA48EDD40C65333600DD2220 /* OptimiseToolFactory.h */; }; AA48EDD70C65333600DD2220 /* OptimiseTool.h in Headers */ = {isa = PBXBuildFile; fileRef = AA48EDD30C65333600DD2220 /* OptimiseTool.h */; }; @@ -119,41 +127,49 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 44125A510C08405800C24C0A /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = ./src/main.cpp; sourceTree = SOURCE_ROOT; }; + 44125A510C08405800C24C0A /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = ./src/main.cpp; sourceTree = "<group>"; }; 44125A570C0840B400C24C0A /* libmeshmagick.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libmeshmagick.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; - 44125A5A0C0840ED00C24C0A /* InfoTool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InfoTool.cpp; path = ./src/InfoTool.cpp; sourceTree = SOURCE_ROOT; }; - 44125A5B0C0840ED00C24C0A /* InfoToolFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InfoToolFactory.cpp; path = ./src/InfoToolFactory.cpp; sourceTree = SOURCE_ROOT; }; - 44125A5C0C0840ED00C24C0A /* MeshMergeTool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeshMergeTool.cpp; path = ./src/MeshMergeTool.cpp; sourceTree = SOURCE_ROOT; }; - 44125A5D0C0840ED00C24C0A /* MeshMergeToolFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeshMergeToolFactory.cpp; path = ./src/MeshMergeToolFactory.cpp; sourceTree = SOURCE_ROOT; }; - 44125A5E0C0840ED00C24C0A /* OgreEnvironment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OgreEnvironment.cpp; path = ./src/OgreEnvironment.cpp; sourceTree = SOURCE_ROOT; }; - 44125A5F0C0840ED00C24C0A /* OptionsParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsParser.cpp; path = ./src/OptionsParser.cpp; sourceTree = SOURCE_ROOT; }; - 44125A600C0840ED00C24C0A /* StatefulMeshSerializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StatefulMeshSerializer.cpp; path = ./src/StatefulMeshSerializer.cpp; sourceTree = SOURCE_ROOT; }; - 44125A610C0840ED00C24C0A /* StatefulSkeletonSerializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StatefulSkeletonSerializer.cpp; path = ./src/StatefulSkeletonSerializer.cpp; sourceTree = SOURCE_ROOT; }; - 44125A620C0840ED00C24C0A /* Tool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Tool.cpp; path = ./src/Tool.cpp; sourceTree = SOURCE_ROOT; }; - 44125A630C0840ED00C24C0A /* ToolManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ToolManager.cpp; path = ./src/ToolManager.cpp; sourceTree = SOURCE_ROOT; }; - 44125A640C0840ED00C24C0A /* TransformTool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TransformTool.cpp; path = ./src/TransformTool.cpp; sourceTree = SOURCE_ROOT; }; - 44125A650C0840ED00C24C0A /* TransformToolFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TransformToolFactory.cpp; path = ./src/TransformToolFactory.cpp; sourceTree = SOURCE_ROOT; }; - 44125A750C08410200C24C0A /* InfoTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InfoTool.h; path = ./include/InfoTool.h; sourceTree = SOURCE_ROOT; }; - 44125A760C08410200C24C0A /* InfoToolFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InfoToolFactory.h; path = ./include/InfoToolFactory.h; sourceTree = SOURCE_ROOT; }; - 44125A770C08410200C24C0A /* MeshMagickPrerequisites.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MeshMagickPrerequisites.h; path = ./include/MeshMagickPrerequisites.h; sourceTree = SOURCE_ROOT; }; - 44125A780C08410200C24C0A /* MeshMergeTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MeshMergeTool.h; path = ./include/MeshMergeTool.h; sourceTree = SOURCE_ROOT; }; - 44125A790C08410200C24C0A /* MeshMergeToolFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MeshMergeToolFactory.h; path = ./include/MeshMergeToolFactory.h; sourceTree = SOURCE_ROOT; }; - 44125A7A0C08410200C24C0A /* OgreEnvironment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OgreEnvironment.h; path = ./include/OgreEnvironment.h; sourceTree = SOURCE_ROOT; }; - 44125A7B0C08410200C24C0A /* OptionsParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OptionsParser.h; path = ./include/OptionsParser.h; sourceTree = SOURCE_ROOT; }; - 44125A7C0C08410200C24C0A /* StatefulMeshSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StatefulMeshSerializer.h; path = ./include/StatefulMeshSerializer.h; sourceTree = SOURCE_ROOT; }; - 44125A7D0C08410200C24C0A /* StatefulSkeletonSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StatefulSkeletonSerializer.h; path = ./include/StatefulSkeletonSerializer.h; sourceTree = SOURCE_ROOT; }; - 44125A7E0C08410200C24C0A /* Tool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Tool.h; path = ./include/Tool.h; sourceTree = SOURCE_ROOT; }; - 44125A7F0C08410200C24C0A /* ToolFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ToolFactory.h; path = ./include/ToolFactory.h; sourceTree = SOURCE_ROOT; }; - 44125A800C08410200C24C0A /* ToolManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ToolManager.h; path = ./include/ToolManager.h; sourceTree = SOURCE_ROOT; }; - 44125A810C08410200C24C0A /* TransformTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TransformTool.h; path = ./include/TransformTool.h; sourceTree = SOURCE_ROOT; }; - 44125A820C08410200C24C0A /* TransformToolFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TransformToolFactory.h; path = ./include/TransformToolFactory.h; sourceTree = SOURCE_ROOT; }; + 44125A5A0C0840ED00C24C0A /* InfoTool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InfoTool.cpp; path = ./src/InfoTool.cpp; sourceTree = "<group>"; }; + 44125A5B0C0840ED00C24C0A /* InfoToolFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InfoToolFactory.cpp; path = ./src/InfoToolFactory.cpp; sourceTree = "<group>"; }; + 44125A5C0C0840ED00C24C0A /* MeshMergeTool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeshMergeTool.cpp; path = ./src/MeshMergeTool.cpp; sourceTree = "<group>"; }; + 44125A5D0C0840ED00C24C0A /* MeshMergeToolFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeshMergeToolFactory.cpp; path = ./src/MeshMergeToolFactory.cpp; sourceTree = "<group>"; }; + 44125A5E0C0840ED00C24C0A /* OgreEnvironment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OgreEnvironment.cpp; path = ./src/OgreEnvironment.cpp; sourceTree = "<group>"; }; + 44125A5F0C0840ED00C24C0A /* OptionsParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OptionsParser.cpp; path = ./src/OptionsParser.cpp; sourceTree = "<group>"; }; + 44125A600C0840ED00C24C0A /* StatefulMeshSerializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StatefulMeshSerializer.cpp; path = ./src/StatefulMeshSerializer.cpp; sourceTree = "<group>"; }; + 44125A610C0840ED00C24C0A /* StatefulSkeletonSerializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StatefulSkeletonSerializer.cpp; path = ./src/StatefulSkeletonSerializer.cpp; sourceTree = "<group>"; }; + 44125A620C0840ED00C24C0A /* Tool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Tool.cpp; path = ./src/Tool.cpp; sourceTree = "<group>"; }; + 44125A630C0840ED00C24C0A /* ToolManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ToolManager.cpp; path = ./src/ToolManager.cpp; sourceTree = "<group>"; }; + 44125A640C0840ED00C24C0A /* TransformTool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TransformTool.cpp; path = ./src/TransformTool.cpp; sourceTree = "<group>"; }; + 44125A650C0840ED00C24C0A /* TransformToolFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TransformToolFactory.cpp; path = ./src/TransformToolFactory.cpp; sourceTree = "<group>"; }; + 44125A750C08410200C24C0A /* InfoTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InfoTool.h; path = ./include/InfoTool.h; sourceTree = "<group>"; }; + 44125A760C08410200C24C0A /* InfoToolFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InfoToolFactory.h; path = ./include/InfoToolFactory.h; sourceTree = "<group>"; }; + 44125A770C08410200C24C0A /* MeshMagickPrerequisites.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MeshMagickPrerequisites.h; path = ./include/MeshMagickPrerequisites.h; sourceTree = "<group>"; }; + 44125A780C08410200C24C0A /* MeshMergeTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MeshMergeTool.h; path = ./include/MeshMergeTool.h; sourceTree = "<group>"; }; + 44125A790C08410200C24C0A /* MeshMergeToolFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MeshMergeToolFactory.h; path = ./include/MeshMergeToolFactory.h; sourceTree = "<group>"; }; + 44125A7A0C08410200C24C0A /* OgreEnvironment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OgreEnvironment.h; path = ./include/OgreEnvironment.h; sourceTree = "<group>"; }; + 44125A7B0C08410200C24C0A /* OptionsParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OptionsParser.h; path = ./include/OptionsParser.h; sourceTree = "<group>"; }; + 44125A7C0C08410200C24C0A /* StatefulMeshSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StatefulMeshSerializer.h; path = ./include/StatefulMeshSerializer.h; sourceTree = "<group>"; }; + 44125A7D0C08410200C24C0A /* StatefulSkeletonSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StatefulSkeletonSerializer.h; path = ./include/StatefulSkeletonSerializer.h; sourceTree = "<group>"; }; + 44125A7E0C08410200C24C0A /* Tool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Tool.h; path = ./include/Tool.h; sourceTree = "<group>"; }; + 44125A7F0C08410200C24C0A /* ToolFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ToolFactory.h; path = ./include/ToolFactory.h; sourceTree = "<group>"; }; + 44125A800C08410200C24C0A /* ToolManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ToolManager.h; path = ./include/ToolManager.h; sourceTree = "<group>"; }; + 44125A810C08410200C24C0A /* TransformTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TransformTool.h; path = ./include/TransformTool.h; sourceTree = "<group>"; }; + 44125A820C08410200C24C0A /* TransformToolFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TransformToolFactory.h; path = ./include/TransformToolFactory.h; sourceTree = "<group>"; }; 44125AAF0C08418200C24C0A /* Ogre.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Ogre.framework; path = /Library/Frameworks/Ogre.framework; sourceTree = "<absolute>"; }; - 445A0C3E0C4AAA500029E457 /* EditableSkeleton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EditableSkeleton.h; path = ./include/EditableSkeleton.h; sourceTree = SOURCE_ROOT; }; - 445A0C3F0C4AAA500029E457 /* RenameTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RenameTool.h; path = ./include/RenameTool.h; sourceTree = SOURCE_ROOT; }; - 445A0C400C4AAA500029E457 /* RenameToolFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RenameToolFactory.h; path = ./include/RenameToolFactory.h; sourceTree = SOURCE_ROOT; }; - 445A0C410C4AAA500029E457 /* EditableSkeleton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EditableSkeleton.cpp; path = ./src/EditableSkeleton.cpp; sourceTree = SOURCE_ROOT; }; - 445A0C420C4AAA500029E457 /* RenameTool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenameTool.cpp; path = ./src/RenameTool.cpp; sourceTree = SOURCE_ROOT; }; - 445A0C430C4AAA500029E457 /* RenameToolFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenameToolFactory.cpp; path = ./src/RenameToolFactory.cpp; sourceTree = SOURCE_ROOT; }; + 445A0C3E0C4AAA500029E457 /* EditableSkeleton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EditableSkeleton.h; path = ./include/EditableSkeleton.h; sourceTree = "<group>"; }; + 445A0C3F0C4AAA500029E457 /* RenameTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RenameTool.h; path = ./include/RenameTool.h; sourceTree = "<group>"; }; + 445A0C400C4AAA500029E457 /* RenameToolFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RenameToolFactory.h; path = ./include/RenameToolFactory.h; sourceTree = "<group>"; }; + 445A0C410C4AAA500029E457 /* EditableSkeleton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EditableSkeleton.cpp; path = ./src/EditableSkeleton.cpp; sourceTree = "<group>"; }; + 445A0C420C4AAA500029E457 /* RenameTool.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenameTool.cpp; path = ./src/RenameTool.cpp; sourceTree = "<group>"; }; + 445A0C430C4AAA500029E457 /* RenameToolFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RenameToolFactory.cpp; path = ./src/RenameToolFactory.cpp; sourceTree = "<group>"; }; + 48A52B780E0EEB48008DBDD8 /* EditableBone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EditableBone.h; path = include/EditableBone.h; sourceTree = "<group>"; }; + 48A52B790E0EEB48008DBDD8 /* EditableMesh.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EditableMesh.h; path = include/EditableMesh.h; sourceTree = "<group>"; }; + 48A52B7A0E0EEB48008DBDD8 /* MeshUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MeshUtils.h; path = include/MeshUtils.h; sourceTree = "<group>"; }; + 48A52B7B0E0EEB48008DBDD8 /* ToolUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ToolUtils.h; path = include/ToolUtils.h; sourceTree = "<group>"; }; + 48A52B800E0EEB56008DBDD8 /* EditableBone.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EditableBone.cpp; path = src/EditableBone.cpp; sourceTree = "<group>"; }; + 48A52B810E0EEB56008DBDD8 /* EditableMesh.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = EditableMesh.cpp; path = src/EditableMesh.cpp; sourceTree = "<group>"; }; + 48A52B820E0EEB56008DBDD8 /* MeshUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MeshUtils.cpp; path = src/MeshUtils.cpp; sourceTree = "<group>"; }; + 48A52B830E0EEB56008DBDD8 /* ToolsUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ToolsUtils.cpp; path = src/ToolsUtils.cpp; sourceTree = "<group>"; }; 8DD76F6C0486A84900D96B5E /* meshmagick */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = meshmagick; sourceTree = BUILT_PRODUCTS_DIR; }; AA48EDD30C65333600DD2220 /* OptimiseTool.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = OptimiseTool.h; path = include/OptimiseTool.h; sourceTree = "<group>"; }; AA48EDD40C65333600DD2220 /* OptimiseToolFactory.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = OptimiseToolFactory.h; path = include/OptimiseToolFactory.h; sourceTree = "<group>"; }; @@ -195,16 +211,37 @@ 08FB7795FE84155DC02AAC07 /* Source */ = { isa = PBXGroup; children = ( - AA48EDD90C65334D00DD2220 /* OptimiseTool.cpp */, - AA48EDDA0C65334D00DD2220 /* OptimiseToolFactory.cpp */, + 48A52B8A0E0EEC07008DBDD8 /* Source */, + 48A52B890E0EEBF4008DBDD8 /* Headers */, + ); + name = Source; + sourceTree = "<group>"; + }; + 1AB674ADFE9D54B511CA2CBB /* Products */ = { + isa = PBXGroup; + children = ( + 8DD76F6C0486A84900D96B5E /* meshmagick */, + 44125A570C0840B400C24C0A /* libmeshmagick.dylib */, + ); + name = Products; + sourceTree = "<group>"; + }; + 44125AAE0C08416200C24C0A /* External Frameworks and Libraries */ = { + isa = PBXGroup; + children = ( + 44125AAF0C08418200C24C0A /* Ogre.framework */, + ); + name = "External Frameworks and Libraries"; + sourceTree = "<group>"; + }; + 48A52B890E0EEBF4008DBDD8 /* Headers */ = { + isa = PBXGroup; + children = ( AA48EDD30C65333600DD2220 /* OptimiseTool.h */, AA48EDD40C65333600DD2220 /* OptimiseToolFactory.h */, 445A0C3E0C4AAA500029E457 /* EditableSkeleton.h */, 445A0C3F0C4AAA500029E457 /* RenameTool.h */, 445A0C400C4AAA500029E457 /* RenameToolFactory.h */, - 445A0C410C4AAA500029E457 /* EditableSkeleton.cpp */, - 445A0C420C4AAA500029E457 /* RenameTool.cpp */, - 445A0C430C4AAA500029E457 /* RenameToolFactory.cpp */, 44125A750C08410200C24C0A /* InfoTool.h */, 44125A760C08410200C24C0A /* InfoToolFactory.h */, 44125A770C08410200C24C0A /* MeshMagickPrerequisites.h */, @@ -213,12 +250,32 @@ 44125A7A0C08410200C24C0A /* OgreEnvironment.h */, 44125A7B0C08410200C24C0A /* OptionsParser.h */, 44125A7C0C08410200C24C0A /* StatefulMeshSerializer.h */, + 48A52B780E0EEB48008DBDD8 /* EditableBone.h */, 44125A7D0C08410200C24C0A /* StatefulSkeletonSerializer.h */, 44125A7E0C08410200C24C0A /* Tool.h */, 44125A7F0C08410200C24C0A /* ToolFactory.h */, 44125A800C08410200C24C0A /* ToolManager.h */, 44125A810C08410200C24C0A /* TransformTool.h */, 44125A820C08410200C24C0A /* TransformToolFactory.h */, + 48A52B790E0EEB48008DBDD8 /* EditableMesh.h */, + 48A52B7A0E0EEB48008DBDD8 /* MeshUtils.h */, + 48A52B7B0E0EEB48008DBDD8 /* ToolUtils.h */, + ); + name = Headers; + sourceTree = "<group>"; + }; + 48A52B8A0E0EEC07008DBDD8 /* Source */ = { + isa = PBXGroup; + children = ( + AA48EDD90C65334D00DD2220 /* OptimiseTool.cpp */, + AA48EDDA0C65334D00DD2220 /* OptimiseToolFactory.cpp */, + 445A0C410C4AAA500029E457 /* EditableSkeleton.cpp */, + 445A0C420C4AAA500029E457 /* RenameTool.cpp */, + 445A0C430C4AAA500029E457 /* RenameToolFactory.cpp */, + 48A52B800E0EEB56008DBDD8 /* EditableBone.cpp */, + 48A52B810E0EEB56008DBDD8 /* EditableMesh.cpp */, + 48A52B820E0EEB56008DBDD8 /* MeshUtils.cpp */, + 48A52B830E0EEB56008DBDD8 /* ToolsUtils.cpp */, 44125A5A0C0840ED00C24C0A /* InfoTool.cpp */, 44125A5B0C0840ED00C24C0A /* InfoToolFactory.cpp */, 44125A5C0C0840ED00C24C0A /* MeshMergeTool.cpp */, @@ -236,23 +293,6 @@ name = Source; sourceTree = "<group>"; }; - 1AB674ADFE9D54B511CA2CBB /* Products */ = { - isa = PBXGroup; - children = ( - 8DD76F6C0486A84900D96B5E /* meshmagick */, - 44125A570C0840B400C24C0A /* libmeshmagick.dylib */, - ); - name = Products; - sourceTree = "<group>"; - }; - 44125AAE0C08416200C24C0A /* External Frameworks and Libraries */ = { - isa = PBXGroup; - children = ( - 44125AAF0C08418200C24C0A /* Ogre.framework */, - ); - name = "External Frameworks and Libraries"; - sourceTree = "<group>"; - }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ @@ -279,6 +319,10 @@ 445A0C460C4AAA500029E457 /* RenameToolFactory.h in Headers */, AA48EDD70C65333600DD2220 /* OptimiseTool.h in Headers */, AA48EDD80C65333600DD2220 /* OptimiseToolFactory.h in Headers */, + 48A52B7C0E0EEB48008DBDD8 /* EditableBone.h in Headers */, + 48A52B7D0E0EEB48008DBDD8 /* EditableMesh.h in Headers */, + 48A52B7E0E0EEB48008DBDD8 /* MeshUtils.h in Headers */, + 48A52B7F0E0EEB48008DBDD8 /* ToolUtils.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -329,9 +373,11 @@ 08FB7793FE84155DC02AAC07 /* Project object */ = { isa = PBXProject; buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "meshmagick" */; + compatibilityVersion = "Xcode 2.4"; hasScannedForEncodings = 1; mainGroup = 08FB7794FE84155DC02AAC07 /* meshmagick */; projectDirPath = ""; + projectRoot = ""; targets = ( 8DD76F620486A84900D96B5E /* meshmagick */, 44125A560C0840B400C24C0A /* libmeshmagick */, @@ -361,6 +407,10 @@ 445A0C490C4AAA500029E457 /* RenameToolFactory.cpp in Sources */, AA48EDDD0C65334D00DD2220 /* OptimiseTool.cpp in Sources */, AA48EDDE0C65334D00DD2220 /* OptimiseToolFactory.cpp in Sources */, + 48A52B840E0EEB56008DBDD8 /* EditableBone.cpp in Sources */, + 48A52B850E0EEB56008DBDD8 /* EditableMesh.cpp in Sources */, + 48A52B860E0EEB56008DBDD8 /* MeshUtils.cpp in Sources */, + 48A52B870E0EEB56008DBDD8 /* ToolsUtils.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Hex...@us...> - 2008-06-21 08:59:42
|
Revision: 2453 http://ogreaddons.svn.sourceforge.net/ogreaddons/?rev=2453&view=rev Author: HexiDave Date: 2008-06-21 01:08:14 -0700 (Sat, 21 Jun 2008) Log Message: ----------- Fix suggestions, courtesy of "denreaper". Modified Paths: -------------- trunk/simplepagedterrain/trunk/library/include/TerrainMesh.h trunk/simplepagedterrain/trunk/library/src/MovableText.cpp trunk/simplepagedterrain/trunk/library/src/Terrain.cpp Modified: trunk/simplepagedterrain/trunk/library/include/TerrainMesh.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/TerrainMesh.h 2008-06-20 03:19:41 UTC (rev 2452) +++ trunk/simplepagedterrain/trunk/library/include/TerrainMesh.h 2008-06-21 08:08:14 UTC (rev 2453) @@ -100,7 +100,7 @@ return mMaterial->getName(); } - void setMaterial(Ogre::MaterialPtr& pMaterial) + void setMaterial(Ogre::MaterialPtr pMaterial) { mMaterial = pMaterial; } Modified: trunk/simplepagedterrain/trunk/library/src/MovableText.cpp =================================================================== --- trunk/simplepagedterrain/trunk/library/src/MovableText.cpp 2008-06-20 03:19:41 UTC (rev 2452) +++ trunk/simplepagedterrain/trunk/library/src/MovableText.cpp 2008-06-21 08:08:14 UTC (rev 2453) @@ -9,7 +9,7 @@ #include <Ogre.h> #include <OgreFontManager.h> -#include "movableText.h" +#include "MovableText.h" using namespace Ogre; Modified: trunk/simplepagedterrain/trunk/library/src/Terrain.cpp =================================================================== --- trunk/simplepagedterrain/trunk/library/src/Terrain.cpp 2008-06-20 03:19:41 UTC (rev 2452) +++ trunk/simplepagedterrain/trunk/library/src/Terrain.cpp 2008-06-21 08:08:14 UTC (rev 2453) @@ -95,11 +95,14 @@ IndexStorage::iterator it = mIndexStore.begin(); - while (it != mIndexStore.end()) + IndexStorage::iterator itEnd = mIndexStore.end(); + + while (it != itEnd) { delete it->second; - it = mIndexStore.erase(it); + ++it; } + mIndexStore.clear(); } void Terrain::addIndexData( Ogre::IndexData* pData, size_t iLOD ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <Hex...@us...> - 2008-06-20 03:19:32
|
Revision: 2452 http://ogreaddons.svn.sourceforge.net/ogreaddons/?rev=2452&view=rev Author: HexiDave Date: 2008-06-19 20:19:41 -0700 (Thu, 19 Jun 2008) Log Message: ----------- SPT v2 first commit. Has demo pre-compiled with Ogre DLLs in bin/Release Enjoy! Added Paths: ----------- trunk/simplepagedterrain/trunk/ trunk/simplepagedterrain/trunk/bin/ trunk/simplepagedterrain/trunk/bin/Release/ trunk/simplepagedterrain/trunk/bin/Release/OIS.dll trunk/simplepagedterrain/trunk/bin/Release/OgreGUIRenderer.dll trunk/simplepagedterrain/trunk/bin/Release/OgreMain.dll trunk/simplepagedterrain/trunk/bin/Release/Plugin_CgProgramManager.dll trunk/simplepagedterrain/trunk/bin/Release/Plugins.cfg trunk/simplepagedterrain/trunk/bin/Release/RenderSystem_Direct3D9.dll trunk/simplepagedterrain/trunk/bin/Release/SPT2_Demo.exe trunk/simplepagedterrain/trunk/bin/Release/cg.dll trunk/simplepagedterrain/trunk/bin/Release/resources.cfg trunk/simplepagedterrain/trunk/demo/ trunk/simplepagedterrain/trunk/demo/include/ trunk/simplepagedterrain/trunk/demo/include/SPT_Demo.h trunk/simplepagedterrain/trunk/demo/scripts/ trunk/simplepagedterrain/trunk/demo/scripts/SPT2_Demo.sln trunk/simplepagedterrain/trunk/demo/scripts/SPT2_Demo.vcproj trunk/simplepagedterrain/trunk/demo/src/ trunk/simplepagedterrain/trunk/demo/src/SPT_Demo.cpp trunk/simplepagedterrain/trunk/lib/ trunk/simplepagedterrain/trunk/library/ trunk/simplepagedterrain/trunk/library/include/ trunk/simplepagedterrain/trunk/library/include/AtmosphericCubeMap.h trunk/simplepagedterrain/trunk/library/include/CircleDisplacement.h trunk/simplepagedterrain/trunk/library/include/GPULightmapper.h trunk/simplepagedterrain/trunk/library/include/Heightmap.h trunk/simplepagedterrain/trunk/library/include/HeightmapReader.h trunk/simplepagedterrain/trunk/library/include/HeightmapRules.h trunk/simplepagedterrain/trunk/library/include/Lightmapper.h trunk/simplepagedterrain/trunk/library/include/MovableText.h trunk/simplepagedterrain/trunk/library/include/PNGHeightmapReader.h trunk/simplepagedterrain/trunk/library/include/Prerequisites.h trunk/simplepagedterrain/trunk/library/include/QNode.h trunk/simplepagedterrain/trunk/library/include/RAWHeightmapReader.h trunk/simplepagedterrain/trunk/library/include/RectFlatten.h trunk/simplepagedterrain/trunk/library/include/Terrain.h trunk/simplepagedterrain/trunk/library/include/TerrainMesh.h trunk/simplepagedterrain/trunk/library/include/TerrainModifier.h trunk/simplepagedterrain/trunk/library/include/Vec2D.h trunk/simplepagedterrain/trunk/library/include/Vec3D.h trunk/simplepagedterrain/trunk/library/scripts/ trunk/simplepagedterrain/trunk/library/scripts/SPTv2.vcproj trunk/simplepagedterrain/trunk/library/scripts/SPTv2_Library.sln trunk/simplepagedterrain/trunk/library/src/ trunk/simplepagedterrain/trunk/library/src/AtmosphericCubeMap.cpp trunk/simplepagedterrain/trunk/library/src/CircleDisplacement.cpp trunk/simplepagedterrain/trunk/library/src/GPULightmapper.cpp trunk/simplepagedterrain/trunk/library/src/Heightmap.cpp trunk/simplepagedterrain/trunk/library/src/HeightmapReader.cpp trunk/simplepagedterrain/trunk/library/src/HeightmapRules.cpp trunk/simplepagedterrain/trunk/library/src/Lightmapper.cpp trunk/simplepagedterrain/trunk/library/src/MovableText.cpp trunk/simplepagedterrain/trunk/library/src/PNGHeightmapReader.cpp trunk/simplepagedterrain/trunk/library/src/QNode.cpp trunk/simplepagedterrain/trunk/library/src/RAWHeightmapReader.cpp trunk/simplepagedterrain/trunk/library/src/RectFlatten.cpp trunk/simplepagedterrain/trunk/library/src/Terrain.cpp trunk/simplepagedterrain/trunk/library/src/TerrainMesh.cpp trunk/simplepagedterrain/trunk/media/ trunk/simplepagedterrain/trunk/media/materials/ trunk/simplepagedterrain/trunk/media/materials/Highlands.material trunk/simplepagedterrain/trunk/media/materials/Lightmap.hlsl trunk/simplepagedterrain/trunk/media/materials/Lightmap.material trunk/simplepagedterrain/trunk/media/materials/Quad.hlsl trunk/simplepagedterrain/trunk/media/materials/Quad.program trunk/simplepagedterrain/trunk/media/materials/SPT2_Low.program trunk/simplepagedterrain/trunk/media/materials/SPT2_Low.source trunk/simplepagedterrain/trunk/media/materials/SPT2_Medium.program trunk/simplepagedterrain/trunk/media/materials/SPT2_Medium.source trunk/simplepagedterrain/trunk/media/materials/SPT2_Shadow.program trunk/simplepagedterrain/trunk/media/materials/SPT2_Shadow.source trunk/simplepagedterrain/trunk/media/materials/SkySphere.material trunk/simplepagedterrain/trunk/media/materials/SkySphere.source trunk/simplepagedterrain/trunk/media/packs/ trunk/simplepagedterrain/trunk/media/packs/OgreCore.zip trunk/simplepagedterrain/trunk/media/textures/ trunk/simplepagedterrain/trunk/media/textures/047roche.jpg trunk/simplepagedterrain/trunk/media/textures/051roche.jpg trunk/simplepagedterrain/trunk/media/textures/Detail3.jpg trunk/simplepagedterrain/trunk/media/textures/Highlands_Coverage.jpg trunk/simplepagedterrain/trunk/media/textures/Highlands_Height.png trunk/simplepagedterrain/trunk/media/textures/Highlands_Splat.dds trunk/simplepagedterrain/trunk/media/textures/Thumbs.db trunk/simplepagedterrain/trunk/media/textures/detail_splat1.png trunk/simplepagedterrain/trunk/media/textures/herbe_3.jpg trunk/simplepagedterrain/trunk/media/textures/herbe_5.jpg trunk/simplepagedterrain/trunk/media/textures/nature093.jpg trunk/simplepagedterrain/trunk/media/textures/sand_025.jpg Added: trunk/simplepagedterrain/trunk/bin/Release/OIS.dll =================================================================== (Binary files differ) Property changes on: trunk/simplepagedterrain/trunk/bin/Release/OIS.dll ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/simplepagedterrain/trunk/bin/Release/OgreGUIRenderer.dll =================================================================== (Binary files differ) Property changes on: trunk/simplepagedterrain/trunk/bin/Release/OgreGUIRenderer.dll ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/simplepagedterrain/trunk/bin/Release/OgreMain.dll =================================================================== (Binary files differ) Property changes on: trunk/simplepagedterrain/trunk/bin/Release/OgreMain.dll ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/simplepagedterrain/trunk/bin/Release/Plugin_CgProgramManager.dll =================================================================== (Binary files differ) Property changes on: trunk/simplepagedterrain/trunk/bin/Release/Plugin_CgProgramManager.dll ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/simplepagedterrain/trunk/bin/Release/Plugins.cfg =================================================================== --- trunk/simplepagedterrain/trunk/bin/Release/Plugins.cfg (rev 0) +++ trunk/simplepagedterrain/trunk/bin/Release/Plugins.cfg 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,11 @@ +# Defines plugins to load + +# Define plugin folder +PluginFolder=. + +# Define plugins +Plugin=RenderSystem_Direct3D9 +#Plugin=RenderSystem_GL +Plugin=Plugin_CgProgramManager + + Property changes on: trunk/simplepagedterrain/trunk/bin/Release/Plugins.cfg ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/bin/Release/RenderSystem_Direct3D9.dll =================================================================== (Binary files differ) Property changes on: trunk/simplepagedterrain/trunk/bin/Release/RenderSystem_Direct3D9.dll ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/simplepagedterrain/trunk/bin/Release/SPT2_Demo.exe =================================================================== (Binary files differ) Property changes on: trunk/simplepagedterrain/trunk/bin/Release/SPT2_Demo.exe ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/simplepagedterrain/trunk/bin/Release/cg.dll =================================================================== (Binary files differ) Property changes on: trunk/simplepagedterrain/trunk/bin/Release/cg.dll ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/simplepagedterrain/trunk/bin/Release/resources.cfg =================================================================== --- trunk/simplepagedterrain/trunk/bin/Release/resources.cfg (rev 0) +++ trunk/simplepagedterrain/trunk/bin/Release/resources.cfg 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,13 @@ +# Resource locations to be added to the 'boostrap' path +# This also contains the minimum you need to use the Ogre example framework +[Bootstrap] +Zip=../../media/packs/OgreCore.zip + +# Resource locations to be added to the default path +[General] +FileSystem=../../media +FileSystem=../../media/materials +FileSystem=../../media/textures +FileSystem=../../PagedGeometry/media/grass +FileSystem=../../PagedGeometry/media/trees +FileSystem=../../PagedGeometry/media/trees2 \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/bin/Release/resources.cfg ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/demo/include/SPT_Demo.h =================================================================== --- trunk/simplepagedterrain/trunk/demo/include/SPT_Demo.h (rev 0) +++ trunk/simplepagedterrain/trunk/demo/include/SPT_Demo.h 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,221 @@ +#include "ExampleApplication.h" +#include "Terrain.h" +#include "AtmosphericCubeMap.h" +#include "CircleDisplacement.h" +#include "RectFlatten.h" +#include <Ogre.h> + +using namespace SPT; + +Terrain* gTerrain; + +Light* gSunLight; + + + + +class MyFrameListener : public ExampleFrameListener +{ +protected: + Real mBaseSpeed; + Real mCurrentSpeed; + +public: + MyFrameListener(RenderWindow* win, Camera* cam) + : ExampleFrameListener(win,cam) + { + mBaseSpeed = 400.0f; + mCurrentSpeed = 1.0f; + } + bool frameStarted(const FrameEvent& evt) + { + + if (ExampleFrameListener::frameStarted(evt) == false) + return false; + + + for (size_t k = OIS::KC_1; k <= OIS::KC_9;k++) + { + if (mKeyboard->isKeyDown(OIS::KeyCode(k))) + mCurrentSpeed = (Real(k - OIS::KC_1) + 1.0f) * 2.0f; + } + + if (mKeyboard->isKeyDown(OIS::KC_0)) + mCurrentSpeed = 0.5f; + + mMoveSpeed = mCurrentSpeed * mBaseSpeed; + + + // This is set to update every frame for SPT + gTerrain->onFrameStart(evt.timeSinceLastFrame); + + + if (mKeyboard->isKeyDown(OIS::KC_J) && mTimeUntilNextToggle <= 0) + { + Vector3 vLightDir = Vector3(Math::RangeRandom(-10,10),Math::RangeRandom(-10,-0.1),Math::RangeRandom(-10,10)); + vLightDir.normalise(); + + gTerrain->setLightDirection(vLightDir); + + + mTimeUntilNextToggle = 0.2; + } + + if (mKeyboard->isKeyDown(OIS::KC_L) && mTimeUntilNextToggle <= 0) + { + + AtmosphericCubeMap* pAtm = gTerrain->getAtmosphere(); + pAtm->setHG(-0.96); + pAtm->setSunBrightness(4); + //pAtm->setRaleighCoef(0.02); + pAtm->setMieCoef(0.1); + + gTerrain->setLightDirection(Vector3(0,0,1)); + + mTimeUntilNextToggle = 0.2; + } + + if (mKeyboard->isKeyDown(OIS::KC_K) && mTimeUntilNextToggle <= 0) + { + Ray ray = mCamera->getCameraToViewportRay(0.5,0.5); + + Vector3 vRayPos = Vector3::ZERO; + + if (gTerrain->getRayHeight(ray,vRayPos,true,false)) + { + gTerrain->addTerrainModifier(RectFlatten(vRayPos,2000,1000)); + } + + + + mTimeUntilNextToggle = 0.0f; + } + + + if (mKeyboard->isKeyDown(OIS::KC_H) && mTimeUntilNextToggle <= 0) + { + // Randomly displaces the terrain as a big crater + Vector3 pos = Vector3(Math::RangeRandom(-16000,16000),0.0f,Math::RangeRandom(-16000,16000)); + + if (gTerrain->getHeightAt(pos,true,false)) + { + Real radius = Math::RangeRandom(500,16000); + Real power = Math::RangeRandom(-20000,20000); + QNode* pHighest = gTerrain->addTerrainModifier(CircleDisplacement(pos,radius,power)); + + } + + + mTimeUntilNextToggle = 0.2; + } + + + // Displays the current movement speed + mDebugText = "Current speed: " + StringConverter::toString(mMoveSpeed) + " m/s"; + + + + + return true; + } + + bool frameEnded(const FrameEvent& evt) + { + + + // Updates the end-of-frame duties of SPT + gTerrain->onFrameEnd(evt.timeSinceLastFrame); + + return ExampleFrameListener::frameEnded(evt); + } + + +}; + + + + + +class EnvMapApplication : public ExampleApplication +{ +public: + EnvMapApplication() + { + gTerrain = 0; + + + } + ~EnvMapApplication() + { + delete gTerrain; + gTerrain = 0; + + } + +protected: + + + // Just override the mandatory create scene method + void createScene(void) + { + LogManager::getSingleton().getDefaultLog()->setLogDetail(Ogre::LL_BOREME); + // Set ambient light + mSceneMgr->setAmbientLight(ColourValue(0.5,0.5,0.5)); + + + gSunLight = mSceneMgr->createLight("Sun"); + gSunLight->setType(Light::LT_DIRECTIONAL); + gSunLight->setDirection(-0.808863, -0.488935, -0.326625); + + + mCamera->getViewport()->setBackgroundColour(ColourValue(0.75,0.75,0.75)); + mCamera->setNearClipDistance(10); + mCamera->setFarClipDistance(100000); + + mCamera->setPosition(0,2500,3500); + mCamera->lookAt(0,0,0); + + // Create SPT + + gTerrain = new Terrain(mCamera,mSceneMgr); + + gTerrain->setClampState(Terrain::ACS_BELOW,15,false,true); + + // Do a quick setup + + gTerrain->quickSetup("Highlands_Height.png",2049,"SPT_Highlands",64000.0,6000.0); + + // All this handles the atmosphere + + //gTerrain->createAtmosphere("BlueSky.txt","SkySphere"); + + + gTerrain->createAtmosphere( + 637800,638640, + -0.985148, + 95.0213, + 640000.0, + Vector3(2.9427e-006, 9.4954e-006, 1.40597e-005), + Vector3(9.43648e-005, 3.36762e-005, 6.59358e-006), + "SkySphere",512,256); + + gTerrain->createLightmapper("Lightmapper","SPT_Comp",2048,2049); + + gTerrain->setLightDirection(gSunLight->getDirection()); + + + //gTerrain->getAtmosphere()->exportSettings("TestExport.txt"); + //gTerrain->getAtmosphere()->importSettings("TestExport.txt",true); + + // And you're done! + + } + + void createFrameListener() + { + mFrameListener= new MyFrameListener(mWindow, mCamera); + mFrameListener->showDebugOverlay(true); + mRoot->addFrameListener(mFrameListener); + } + +}; Property changes on: trunk/simplepagedterrain/trunk/demo/include/SPT_Demo.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/demo/scripts/SPT2_Demo.sln =================================================================== --- trunk/simplepagedterrain/trunk/demo/scripts/SPT2_Demo.sln (rev 0) +++ trunk/simplepagedterrain/trunk/demo/scripts/SPT2_Demo.sln 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SPT2_Demo", "SPT2_Demo.vcproj", "{0EB479CC-802C-43BF-BAA9-7CF842A12C2C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0EB479CC-802C-43BF-BAA9-7CF842A12C2C}.Debug|Win32.ActiveCfg = Debug|Win32 + {0EB479CC-802C-43BF-BAA9-7CF842A12C2C}.Debug|Win32.Build.0 = Debug|Win32 + {0EB479CC-802C-43BF-BAA9-7CF842A12C2C}.Release|Win32.ActiveCfg = Release|Win32 + {0EB479CC-802C-43BF-BAA9-7CF842A12C2C}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal Property changes on: trunk/simplepagedterrain/trunk/demo/scripts/SPT2_Demo.sln ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/demo/scripts/SPT2_Demo.vcproj =================================================================== --- trunk/simplepagedterrain/trunk/demo/scripts/SPT2_Demo.vcproj (rev 0) +++ trunk/simplepagedterrain/trunk/demo/scripts/SPT2_Demo.vcproj 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,204 @@ +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8.00" + Name="SPT2_Demo" + ProjectGUID="{0EB479CC-802C-43BF-BAA9-7CF842A12C2C}" + RootNamespace="SPT2_Demo" + Keyword="Win32Proj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="..\bin\$(ConfigurationName)" + IntermediateDirectory="..\obj\$(ConfigurationName)" + ConfigurationType="1" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="..\include;"$(OGRE_HOME)\OgreMain\include";"$(OGRE_HOME)\Dependencies\include";"$(OGRE_HOME)\Samples\Common\include";..\..\library\include;$(NOINHERIT)" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="OgreMain_d.lib OIS_d.lib SPTv2_d.lib user32.lib" + OutputFile="$(OutDir)\$(ProjectName)_d.exe" + LinkIncremental="2" + AdditionalLibraryDirectories=""$(OGRE_HOME)\lib";"$(OGRE_HOME)\Dependencies\lib\$(ConfigurationName)";..\..\lib" + GenerateDebugInformation="true" + SubSystem="2" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="copy $(OutDir)\$(TargetFileName) ..\..\bin\$(ConfigurationName)" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="..\bin\$(ConfigurationName)" + IntermediateDirectory="..\obj\$(ConfigurationName)" + ConfigurationType="1" + CharacterSet="2" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="..\include;"$(OGRE_HOME)\OgreMain\include";"$(OGRE_HOME)\Dependencies\include";"$(OGRE_HOME)\Samples\Common\include";..\..\library\include;$(NOINHERIT)" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="OgreMain.lib OIS.lib SPTv2.lib user32.lib" + LinkIncremental="1" + AdditionalLibraryDirectories=""$(OGRE_HOME)\lib";"$(OGRE_HOME)\Dependencies\lib\$(ConfigurationName)";..\..\lib" + GenerateDebugInformation="true" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="copy $(OutDir)\$(TargetFileName) ..\..\bin\$(ConfigurationName)" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath="..\src\SPT_Demo.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\include\SPT_Demo.h" + > + </File> + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> Property changes on: trunk/simplepagedterrain/trunk/demo/scripts/SPT2_Demo.vcproj ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/demo/src/SPT_Demo.cpp =================================================================== --- trunk/simplepagedterrain/trunk/demo/src/SPT_Demo.cpp (rev 0) +++ trunk/simplepagedterrain/trunk/demo/src/SPT_Demo.cpp 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,59 @@ +/* +----------------------------------------------------------------------------- +This source file is part of OGRE + (Object-oriented Graphics Rendering Engine) +For the latest info, see http://www.ogre3d.org/ + +Copyright (c) 2000-2006 Torus Knot Software Ltd +Also see acknowledgements in Readme.html + +You may use this sample code for anything you like, it is not covered by the +LGPL like the rest of the engine. +----------------------------------------------------------------------------- +*/ + +/** + \file + EnvMapping.cpp + \brief + Shows OGRE's environment mapping feature as well as the + blending modes available when using multiple texture layers +*/ + +#include "SPT_Demo.h" + +#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 +#define WIN32_LEAN_AND_MEAN +#include "windows.h" +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 +INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT ) +#else +int main(int argc, char **argv) +#endif +{ + // Create application object + EnvMapApplication app; + + try { + app.go(); + } catch( Exception& e ) { +#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 + MessageBox( NULL, e.getFullDescription().c_str(), "An exception has occured!", MB_OK | MB_ICONERROR | MB_TASKMODAL); +#else + std::cerr << "An exception has occured: " << e.getFullDescription(); +#endif + } + + + return 0; +} + +#ifdef __cplusplus +} +#endif Property changes on: trunk/simplepagedterrain/trunk/demo/src/SPT_Demo.cpp ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/library/include/AtmosphericCubeMap.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/AtmosphericCubeMap.h (rev 0) +++ trunk/simplepagedterrain/trunk/library/include/AtmosphericCubeMap.h 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,165 @@ +#pragma once + +#include "Prerequisites.h" +#include <OgrePrerequisites.h> +#include <OgreMaterial.h> +#include <OgreTexture.h> +#include <OgreVector3.h> +#include <OgreMesh.h> + +namespace SPT +{ + class AtmosphericCubeMap + { + public: + AtmosphericCubeMap(); + AtmosphericCubeMap( + Ogre::SceneManager* pSceneMgr, + Ogre::Camera* pCamera, + const Ogre::String& strImportSettingsFile, + const Ogre::String& strSkyBoxMatName, + const Ogre::String& strTerrainMatName, + const Ogre::String& strCubeMapTexName = "SPT_SkyBox_Tex", + const Ogre::String& strExtinctionTexName = "SPT_Ext_Tex", + const Ogre::String& strTerrainMaxDistanceParamName = "fMaxDistance", + const Ogre::String& strSkyBoxTexUnitName = "SkyBox", + const Ogre::String& strTerrainSkyTexUnitName = "SkyBox", + const Ogre::String& strTerrainExtinctionTexUnitName = "Extinction"); + + AtmosphericCubeMap( + Ogre::SceneManager* pSceneMgr, + Ogre::Camera* pCamera, + Ogre::Real fPlanetRadius, + Ogre::Real fAtmosphereRadius, + Ogre::Real fHG, + Ogre::Real fSunBrightness, + Ogre::Real fMaxDistance, + const Ogre::Vector3& vLightDir, + const Ogre::Vector3& vMie, + const Ogre::Vector3& vRaleigh, + const Ogre::String& strSkyBoxMatName, + const Ogre::String& strTerrainMatName, + size_t iExtinctionTexSize = 1024, + size_t iSkyBoxTexSize = 512, + Ogre::Real fRaleighCoef = 0.2f, + Ogre::Real fMieCoef = 0.001, + const Ogre::String& strCubeMapTexName = "SPT_SkyBox_Tex", + const Ogre::String& strExtinctionTexName = "SPT_Ext_Tex", + const Ogre::String& strTerrainMaxDistanceParamName = "fMaxDistance", + const Ogre::String& strSkyBoxTexUnitName = "SkyBox", + const Ogre::String& strTerrainSkyTexUnitName = "SkyBox", + const Ogre::String& strTerrainExtinctionTexUnitName = "Extinction"); + + ~AtmosphericCubeMap(); + + + // I didn't create this! + // It's from the Wiki + void createSphere(const Ogre::String& strName, const Ogre::Real r, const size_t nRings = 16, const size_t nSegments = 16); + + + Ogre::Real CalculateSkyLength(const Ogre::Vector3 &inDirection); + + Ogre::Vector3 CalculateExtinctionAmount(Ogre::Real distance); + + + Ogre::Vector3 CalculateLin(const Ogre::Vector3 &viewDirection); + + void createExtinction(); + + void createFaces(); + + void updateExtinction(); + + void updateFaces(); + + void updateCoefficients(); + + void updateMaxDistance(Ogre::Real fMaxDistance); + + void updatePosition(); + + void setLightDirection(const Ogre::Vector3& vLightDir){mLightDir = vLightDir;} + const Ogre::Vector3& getLightDirection(){return mLightDir;} + + Ogre::Real getPlanetRadius() const { return mPlanetRadius; } + void setPlanetRadius(Ogre::Real val) { mPlanetRadius = val; } + + Ogre::Real getAtmosphereRadius() const { return mAtmosphereRadius; } + void setAtmosphereRadius(Ogre::Real val) { mAtmosphereRadius = val; } + + Ogre::Real getHG() const { return mHG; } + void setHG(Ogre::Real val) { mHG = val; } + + Ogre::Real getRaleighCoef() const { return mRaleighCoef; } + void setRaleighCoef(Ogre::Real val) { mRaleighCoef = val; } + + Ogre::Real getMieCoef() const { return mMieCoef; } + void setMieCoef(Ogre::Real val) { mMieCoef = val; } + + Ogre::Vector3 getRaleigh() const { return mRaleigh; } + void setRaleigh(Ogre::Vector3 val) { mRaleigh = val; } + + Ogre::Vector3 getMie() const { return mMie; } + void setMie(Ogre::Vector3 val) { mMie = val; } + + Ogre::Real getSunBrightness() const { return mSunBrightness; } + void setSunBrightness(Ogre::Real val) { mSunBrightness = val; } + + Ogre::Real getMaxDistance() const { return mMaxDistance; } + void setMaxDistance(Ogre::Real val) { mMaxDistance = val; } + + void exportSettings(const Ogre::String& strFileName); + void importSettings(const Ogre::String& strFileName, bool bAutoUpdate = false); + + // Quick cheats to make my life easier + enum CubeFace + { + CF_POS_X = 0, + CF_NEG_X, + CF_POS_Y, + CF_NEG_Y, + CF_POS_Z, + CF_NEG_Z + }; + + private: + Ogre::Real mPlanetRadius; + Ogre::Real mAtmosphereRadius; + Ogre::Real mHG; + Ogre::Real mRaleighCoef; + Ogre::Real mMieCoef; + Ogre::Vector3 mRaleigh; + Ogre::Vector3 mMie; + Ogre::Vector3 mBetaRaleighC; + Ogre::Vector3 mBetaMieC; + Ogre::Vector3 mBetaExtinction; + Ogre::Real mSunBrightness; + Ogre::Real mMaxDistance; + Ogre::MaterialPtr mSkyBoxMaterial; + Ogre::MaterialPtr mTerrainMaterial; + + Ogre::String mSkyBoxTexUnitName; + Ogre::String mTerrainSkyTexUnitName; + Ogre::String mTerrainExtinctionTexUnitName; + Ogre::String mTerrainMaxDistanceParamName; + + Ogre::String mExtinctionTexName; + Ogre::String mCubeMapTexName; + size_t mExtTextureSize; + size_t mLinTextureSize; + Ogre::Vector3 mLightDir; + //Ogre::Real mTheta; + //Ogre::Real mEpsilon; + + Ogre::TexturePtr mCubeMap; + Ogre::TexturePtr mExtinction; + + Ogre::SceneManager* mSceneMgr; + Ogre::Camera* mCamera; + + Ogre::SceneNode* mSkyNode; + Ogre::Entity* mSkySphere; + Ogre::MeshPtr mSkySphereMesh; + }; +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/library/include/AtmosphericCubeMap.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/library/include/CircleDisplacement.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/CircleDisplacement.h (rev 0) +++ trunk/simplepagedterrain/trunk/library/include/CircleDisplacement.h 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,28 @@ +#pragma once + +#include "Prerequisites.h" +#include "TerrainModifier.h" +#include <OgrePrerequisites.h> +#include <OgreVector3.h> +#include "Vec2D.h" + +namespace SPT +{ + class CircleDisplacement : public TerrainModifier + { + public: + CircleDisplacement(const Ogre::Vector3& center, Ogre::Real radius, Ogre::Real displacement, bool addative = true); + + void displace(Vec2D<double> vTopLeft, double fWidth, Heightmap* pHeightmap, float fScale ); + + //void displace(Ogre::Vector3* pVerts); + + bool isInBounds(const Vec2D<double>& vMin, const Vec2D<double>& vMax); + + private: + Ogre::Real mDisplacement; + Ogre::Real mRadius; + Ogre::Vector3 mCenter; + bool mAddative; + }; +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/library/include/CircleDisplacement.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/library/include/GPULightmapper.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/GPULightmapper.h (rev 0) +++ trunk/simplepagedterrain/trunk/library/include/GPULightmapper.h 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,60 @@ +#pragma once + +#include "Prerequisites.h" +#include <OgrePrerequisites.h> +#include <OgreMaterial.h> +#include <OgreTexture.h> +#include <OgreVector3.h> + +namespace SPT +{ + class GPULightmapper + { + public: + GPULightmapper( + Ogre::SceneManager* pSceneMgr, + Ogre::Camera* pCamera, + Heightmap* pRootHeightmap, + const Ogre::Vector3& vLightDir, + const Ogre::String& strLightmapMatName, + const Ogre::String& strTerrainMatName, + const Ogre::String& strCompositorName, + const Ogre::Vector3& vTerrainScale, + size_t iMaxLightmapSize = 2048, + size_t iMaxHeightmapTexSize = 2049, + const Ogre::String& strLightmapScaleParamName = "vScale", + const Ogre::String& strLightmapHeightmapSizeParamName = "fSize", + const Ogre::String& strHeightmapTexName = "SPT_Heightmap_Tex", + const Ogre::String& strRenderTextureName = "SPT_Lightmap_RTT", + const Ogre::String& strLightmapTexUnitName = "Heightmap", + const Ogre::String& strTerrainTexUnitName = "Lightmap", + const Ogre::String& strCompositorScaleParamName = "vScale"); + + ~GPULightmapper(); + + void buildHeightmapTexture(const Ogre::String& strHeightmapTexName, size_t iMapWidth); + + void updateHeightmapBuffer(); + + void updateLightmapWindow(const Ogre::Vector3& vScale); + + void updateLightmap(const Ogre::Vector3& vLightDir); + + private: + Ogre::SceneManager* mSceneMgr; + Ogre::CompositorInstance* mCompositorInstance; + Ogre::RenderTarget* mRenderTarget; + Ogre::Viewport* mViewport; + Ogre::String mLightmapTextureUnitName; + Ogre::String mTerrainTextureUnitName; + Ogre::String mCompositorScaleParamName; + Ogre::MaterialPtr mLightmapMaterial; + Ogre::MaterialPtr mTerrainMaterial; + Ogre::TexturePtr mHeightmapTexture; + Ogre::TexturePtr mRenderTexture; + Heightmap* mRootHeightmap; + Ogre::Vector3 mLightDirection; + Ogre::String mLightmapScaleParamName; + Ogre::String mLightmapHeightmapSizeParamName; + }; +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/library/include/GPULightmapper.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/library/include/Heightmap.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/Heightmap.h (rev 0) +++ trunk/simplepagedterrain/trunk/library/include/Heightmap.h 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,51 @@ +#pragma once + +#include "Prerequisites.h" +#include <OgrePrerequisites.h> + +namespace SPT +{ + template<typename T> + inline T Lerp(T a, T b, T x) { return a + x * (b - a); } + + class Heightmap + { + public: + Heightmap(); + Heightmap(const std::string& strFileName, size_t iWidth = 0, bool bHasBorder = true); + //Heightmap(float* fData, size_t iWidth); + ~Heightmap(); + + void allocateData(); + HEIGHTMAPTYPE* getData(){return mData;} + + size_t getWidth(){return mWidth;} + void setWidth(size_t iWidth); + + size_t getMaxLevels(){return mMaxLevels;} + void setMaxLevels(size_t iMaxLevels){mMaxLevels = iMaxLevels;} + + void setStartDepth(size_t iStartDepth){mStartDepth = iStartDepth;} + size_t getStartDepth(){return mStartDepth;} + + size_t calculateMaxLevels(); + + HEIGHTMAPTYPE getHeightAt(int x, int y); + + float getHeightAt(float fPosX, float fPosZ, size_t iDepth, size_t iOffsetX, size_t iOffsetY); + + float getHeightAndNormalAt(float fPosX, float fPosZ, const Ogre::Vector3& vScale, size_t iDepth, size_t iOffsetX, size_t iOffsetY, Ogre::Vector3& vNormal); + + void getSubdivision(Heightmap* pSubMap, size_t iWidth, size_t iOffsetX, size_t iOffsetY, size_t iSpacing); + + private: + size_t mAllocatedWidth; + size_t mWidth; + HEIGHTMAPTYPE* mData; + + size_t mStartDepth; + size_t mMaxLevels; + + bool mHasBorder; + }; +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/library/include/Heightmap.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/library/include/HeightmapReader.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/HeightmapReader.h (rev 0) +++ trunk/simplepagedterrain/trunk/library/include/HeightmapReader.h 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,33 @@ +#pragma once + +#include "Prerequisites.h" +#include <OgrePrerequisites.h> +#include <OgreSingleton.h> + +namespace SPT +{ + + class HeightmapReader : public Ogre::Singleton<HeightmapReader> + { + public: + HeightmapReader(){}; + + virtual ~HeightmapReader(){}; + + static HeightmapReader& getSingleton(); + + static HeightmapReader* getSingletonPtr(); + + void readHeightmap( + const std::string& strFileName, + Heightmap* pHeightmap, + size_t iWidth = 0, + size_t iOffsetX = 0, + size_t iOffsetY = 0, + size_t iSpacing = 1, + bool bHasBorder = false); + + + private: + }; +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/library/include/HeightmapReader.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/library/include/HeightmapRules.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/HeightmapRules.h (rev 0) +++ trunk/simplepagedterrain/trunk/library/include/HeightmapRules.h 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,31 @@ +#pragma once + +#include "Prerequisites.h" +#include <string> + +namespace SPT +{ + class HeightmapRules + { + public: + enum HeightmapFileType + { + HFT_RAW_1_BYTE = 0, + HFT_RAW_2_BYTE, + HFT_PNG/*, + HFT_JPEG, + HFT_DEM*/ + }; + + class Rule + { + public: + std::string mHeightmapName; + std::string mResourceGroupName; + HeightmapFileType mFileType; + size_t mTotalWidth; + size_t mLevelsPerChunk; + }; + private: + }; +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/library/include/HeightmapRules.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/library/include/Lightmapper.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/Lightmapper.h (rev 0) +++ trunk/simplepagedterrain/trunk/library/include/Lightmapper.h 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,27 @@ +#pragma once + +#include "Prerequisites.h" +#include <OgrePrerequisites.h> +#include <OgreVector3.h> + +namespace SPT +{ + class Lightmapper + { + public: + void createLightmap( + Heightmap* pHeightmap, + Ogre::Image& lightmapImage, + const Ogre::Vector2& vStartPos, + const Ogre::Real rWidth, + const Ogre::Vector3& vLightDir, + const Ogre::ColourValue& cAmbient, + const Ogre::ColourValue& cLightColor ); + + Ogre::Real getHeight(Ogre::Real x, Ogre::Real z); + Ogre::Vector3 getNormalAt(Ogre::Real x, Ogre::Real z); + private: + Heightmap* mHeightmap; + Ogre::Vector3 mScale; + }; +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/library/include/Lightmapper.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/library/include/MovableText.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/MovableText.h (rev 0) +++ trunk/simplepagedterrain/trunk/library/include/MovableText.h 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,111 @@ +/** +* File: MovableText.h +* +* description: This create create a billboarding object that display a text. +* +* @author 2003 by cTh see gav...@ra... +* @update 2006 by barraq see no...@ba... +*/ + +#ifndef __include_MovableText_H__ +#define __include_MovableText_H__ + +namespace Ogre { + + class MovableText : public MovableObject, public Renderable + { + /******************************** MovableText data ****************************/ + public: + enum HorizontalAlignment {H_LEFT, H_CENTER}; + enum VerticalAlignment {V_BELOW, V_ABOVE, V_CENTER}; + + protected: + String mFontName; + String mType; + String mName; + String mCaption; + HorizontalAlignment mHorizontalAlignment; + VerticalAlignment mVerticalAlignment; + + ColourValue mColor; + RenderOperation mRenderOp; + AxisAlignedBox mAABB; + LightList mLList; + + Real mCharHeight; + Real mSpaceWidth; + + bool mNeedUpdate; + bool mUpdateColors; + bool mOnTop; + + Real mTimeUntilNextToggle; + Real mRadius; + Real mAdditionalHeight; + + Camera *mpCam; + RenderWindow *mpWin; + Font *mpFont; + MaterialPtr mpMaterial; + MaterialPtr mpBackgroundMaterial; + + /******************************** public methods ******************************/ + public: + MovableText(const String &name, const String &caption, const String &fontName = "BlueHighway", Real charHeight = 1.0, const ColourValue &color = ColourValue::White); + virtual ~MovableText(); + + // Add to build on Shoggoth: + /* + virtual void visitRenderables(Ogre::Renderable::Visitor* visitor, bool debugRenderables = false); + */ + + // Set settings + void setFontName(const String &fontName); + void setCaption(const String &caption); + void setColor(const ColourValue &color); + void setCharacterHeight(Real height); + void setSpaceWidth(Real width); + void setTextAlignment(const HorizontalAlignment& horizontalAlignment, const VerticalAlignment& verticalAlignment); + void setAdditionalHeight( Real height ); + void showOnTop(bool show=true); + + // Get settings + const String &getFontName() const {return mFontName;} + const String &getCaption() const {return mCaption;} + const ColourValue &getColor() const {return mColor;} + + Real getCharacterHeight() const {return mCharHeight;} + Real getSpaceWidth() const {return mSpaceWidth;} + Real getAdditionalHeight() const {return mAdditionalHeight;} + bool getShowOnTop() const {return mOnTop;} + AxisAlignedBox GetAABB(void) { return mAABB; } + + /******************************** protected methods and overload **************/ + protected: + + // from MovableText, create the object + void _setupGeometry(); + void _updateColors(); + + // from MovableObject + void getWorldTransforms(Matrix4 *xform) const; + Real getBoundingRadius(void) const {return mRadius;}; + Real getSquaredViewDepth(const Camera *cam) const {return 0;}; + const Quaternion &getWorldOrientation(void) const; + const Vector3 &getWorldPosition(void) const; + const AxisAlignedBox &getBoundingBox(void) const {return mAABB;}; + const String &getName(void) const {return mName;}; + const String &getMovableType(void) const {static Ogre::String movType = "MovableText"; return movType;}; + + void _notifyCurrentCamera(Camera *cam); + void _updateRenderQueue(RenderQueue* queue); + + // from renderable + void getRenderOperation(RenderOperation &op); + const MaterialPtr &getMaterial(void) const {assert(!mpMaterial.isNull());return mpMaterial;}; + const LightList &getLights(void) const {return mLList;}; + }; + +} + +#endif Property changes on: trunk/simplepagedterrain/trunk/library/include/MovableText.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/library/include/PNGHeightmapReader.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/PNGHeightmapReader.h (rev 0) +++ trunk/simplepagedterrain/trunk/library/include/PNGHeightmapReader.h 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,21 @@ +#pragma once + +#include "Prerequisites.h" + +namespace SPT +{ + class PNGHeightmapReader + { + public: + void readHeightmap( + const std::string& strFileName, + Heightmap* pHeightmap, + size_t iWidth = 0, + size_t iOffsetX = 0, + size_t iOffsetY = 0, + size_t iSpacing = 1, + bool bHasBorder = false); + + private: + }; +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/library/include/PNGHeightmapReader.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/library/include/Prerequisites.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/Prerequisites.h (rev 0) +++ trunk/simplepagedterrain/trunk/library/include/Prerequisites.h 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,50 @@ +#pragma once + +#pragma warning(disable: 4267) +#include <string> + +namespace SPT +{ + template<class TType> + class Vec2D; + + template<class TType> + class Vec3D; + + class Terrain; + class TerrainMesh; + class TerrainModifier; + class QuadTree; + class QNode; + class Heightmap; + class HeightmapRefinement; + class HeightmapGenerator; + class HeightmapReader; + class HeightmapRules; + class AtmosphericCubeMap; + class GPULightmapper; + +#define USE_SINGLETON 1 +#define VERTEX_WIDTH 33 +#define MAP_WIDTH (VERTEX_WIDTH+2) +#define USE_MORPH 1 +#define MORPH_START 0.2f +#define MORPH_CONSTANT_ID 77 +#define PARENT_UV_OFFSET_ID 99 +#define EPS 0.0001 +#define FLOAT_EQ(x,v) (((v - EPS) < x) && (x <( v + EPS))) +//#define MORPH_SPEED 1.0f +#define MAX_LOD 1 +//#define SKIRT_LENGTH 700.0f +#define USE_DEBUG_DISPLAYS 0 +#define USE_FLOAT_DATA 0 +#if (USE_FLOAT_DATA == 1) + typedef float HEIGHTMAPTYPE; +#define UNPACK_HEIGHT(h) (h) +#define PACK_HEIGHT(h) (static_cast<float>(h)) +#else + typedef unsigned short HEIGHTMAPTYPE; +#define UNPACK_HEIGHT(h) (static_cast<float>(h)) +#define PACK_HEIGHT(h) (static_cast<HEIGHTMAPTYPE>(h)) +#endif +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/library/include/Prerequisites.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/library/include/QNode.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/QNode.h (rev 0) +++ trunk/simplepagedterrain/trunk/library/include/QNode.h 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,117 @@ +#pragma once + +#include "Prerequisites.h" +#include "Vec2D.h" + +namespace SPT +{ + class QNode + { + public: + // Root + QNode(Terrain* pTerrain); + + // Child node + QNode(QNode* pParent, size_t iNodePosition); + + ~QNode(); + + QNode* getParent(){return mParent;} + + QNode* getChild(size_t iChild){return mChildren[iChild];} + + Terrain* getTerrain(){return mTerrain;} + + size_t getNodePosition(){return mNodePosition;} + + bool hasChildren(){return mHasChildren;} + + TerrainMesh* getTerrainMesh(){return mTerrainMesh;} + + Heightmap* getHeightmap(){return mHeightmap;} + + //Heightmap* getParentHeightmap(){return mParentMap;} + //void setParentHeightmap(Heightmap* pParentMap){mParentMap = pParentMap;} + + QNode* getHighestAffected(TerrainModifier* pModifier); + void checkModifier(TerrainModifier* pModifier); + + void _testUpdate(); + + void buildHeightmap(); + void buildTerrain(); + + const Vec2D<size_t>& getMapOffset(){return mMapOffset;} + + const Vec2D<size_t>& getIntegerOffset(){return mIntegerOffset;} + + const Vec2D<double>& getFloatingPointOffset(){return mFloatingPointOffset;} + + size_t getIntegerWidth(){return mIntegerWidth;} + + double getFloatingPointWidth(){return mFloatingPointWidth;} + + size_t getDepth(){return mDepth;} + + void setForceSplit(bool forceSplit = false){mForceSplit = forceSplit;} + + bool isPointInNode(float fPosX, float fPosZ); + + QNode* getNodeAtPoint(float fPosX, float fPosZ); + + // Returns 0.0f if not found + float getHeightAt(float x, float z); + + // Returns false if not found - stores result in "y" + bool getHeightAt(float x, float z, float& y); + + bool isReadyToSplit(); + + bool isReadyToUnSplit(); + + bool splitNode(); + + bool unsplitNode(); + + void runUpdate(float rTime = 0.0f); + + void runLODChecks(); + + void runQuadTreeChecks(); + + enum QPosition + { + NW = 0, + NE, + SW, + SE, + ROOT + }; + + private: + QNode* mParent; + QNode* mChildren[4]; + + Terrain* mTerrain; + + size_t mNodePosition; + + size_t mDepth; + + bool mHasChildren; + + TerrainMesh* mTerrainMesh; + + Heightmap* mHeightmap; + //Heightmap* mParentMap; + Vec2D<size_t> mMapOffset; + + Vec2D<size_t> mIntegerOffset; + size_t mIntegerWidth; + + Vec2D<double> mFloatingPointOffset; + double mFloatingPointWidth; + + bool mForceSplit; + }; +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/library/include/QNode.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/library/include/RAWHeightmapReader.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/RAWHeightmapReader.h (rev 0) +++ trunk/simplepagedterrain/trunk/library/include/RAWHeightmapReader.h 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,20 @@ +#pragma once + +#include "Prerequisites.h" + +namespace SPT +{ + class RAWHeightmapReader + { + public: + void readHeightmap( + const std::string& strFileName, + Heightmap* pHeightmap, + size_t iWidth = 0, + size_t iOffsetX = 0, + size_t iOffsetY = 0, + size_t iSpacing = 1); + + private: + }; +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/library/include/RAWHeightmapReader.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/library/include/RectFlatten.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/RectFlatten.h (rev 0) +++ trunk/simplepagedterrain/trunk/library/include/RectFlatten.h 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,28 @@ +#pragma once + +#include "Prerequisites.h" +#include "TerrainModifier.h" +#include <OgrePrerequisites.h> +#include <OgreVector3.h> +#include <OgreVector2.h> +#include "Vec2D.h" + +namespace SPT +{ + class RectFlatten : public TerrainModifier + { + public: + RectFlatten(const Ogre::Vector3& center, Ogre::Real width, Ogre::Real height); + + void displace(Vec2D<double> vTopLeft, double fWidth, Heightmap* pHeightmap, float fScale ); + + bool isInBounds(const Vec2D<double>& vMin, const Vec2D<double>& vMax); + + private: + Ogre::Vector3 mCenter; + Ogre::Real mWidth; + Ogre::Real mHeight; + Ogre::Vector2 mMin; + Ogre::Vector2 mMax; + }; +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/library/include/RectFlatten.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/library/include/Terrain.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/Terrain.h (rev 0) +++ trunk/simplepagedterrain/trunk/library/include/Terrain.h 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,217 @@ +#pragma once + +#include <OgrePrerequisites.h> +#include <OgreVertexIndexData.h> +#include <OgreMaterial.h> +#include <OgreVector3.h> +#include "Prerequisites.h" +#include "TerrainModifier.h" +#if (USE_SINGLETON == 1) +#include <OgreSingleton.h> +#endif + +namespace SPT +{ +#if (USE_SINGLETON == 1) + class Terrain : public Ogre::Singleton<Terrain> +#else + class Terrain +#endif + { + public: + Terrain(); + Terrain( + Ogre::Camera* pCamera, + Ogre::SceneManager* pSceneMgr); + ~Terrain(); + +#if (USE_SINGLETON == 1) + static Terrain& getSingleton(); + + static Terrain* getSingletonPtr(); +#endif + + void addIndexData(Ogre::IndexData* pData, size_t iLOD); + Ogre::IndexData* getIndexData(size_t iLOD); + + void setCamera(Ogre::Camera* pCamera){mCamera = pCamera;} + Ogre::Camera* getCamera(){return mCamera;} + + enum AutoClampState + { + ACS_OFF = 0, + ACS_BELOW, + ACS_ALWAYS + }; + + AutoClampState getClampState() const { return mClampState; } + + Ogre::Real getClampBonusHeight() const {return mClampBonusHeight; } + + bool getClampUseRoot() {return mClampUseRoot;} + bool getClampUseGeoMorph(){return mClampUseGeoMorph;} + + void setClampState( + AutoClampState val, + Ogre::Real heightBonus = 0.0f, + bool useRoot = false, + bool useMorph = false) + { + mClampState = val; + mClampBonusHeight = heightBonus; + mClampUseRoot = useRoot; + mClampUseGeoMorph = useMorph; + } + + Ogre::Real getSkirtLength() const { return mSkirtLength; } + void setSkirtLength(Ogre::Real val) { mSkirtLength = val; } + void setSkirtLengthPercent(Ogre::Real val = 10.0f){ mSkirtLength = mTerrainHeight * (val / 100.0f);} + + Ogre::Real getMorphSpeed() const { return mMorphSpeed; } + void setMorphSpeed(Ogre::Real val) { mMorphSpeed = val; } + + //void setTerrainNode(Ogre::SceneNode* pTerrainNode){mTerrainNode = pTerrainNode;} + Ogre::SceneNode* getTerrainNode(){return mTerrainNode;} + + void setSceneManager(Ogre::SceneManager* pSceneMgr){mSceneMgr = pSceneMgr;} + Ogre::SceneManager* getSceneManager(){return mSceneMgr;} + + void setMaterial(const Ogre::String& materialName); + Ogre::MaterialPtr getMaterial(){return mTerrainMaterial;} + + //void setZFirstMaterial(const Ogre::String& materialName); + //Ogre::MaterialPtr getZFirstMaterial(){return mTerrainZFirstMaterial;} + + void setTerrainHeight(Ogre::Real height){mTerrainHeight = height;} + Ogre::Real getTerrainHeight(){return mTerrainHeight;} + + //typedef std::vector<TerrainModifier*> TerrainMods; + + //void addTerrainMod(TerrainModifier* modifier); + //TerrainMods::iterator getTerrainModIterator(); + //TerrainMods::iterator getTerrainModIteratorEnd(); + + void setMaxDepth(size_t iMaxDepth){mMaxDepth = iMaxDepth;} + size_t getMaxDepth(){return mMaxDepth;} + + + void setWidth(double dWidth){mWidth = dWidth;} + double getWidth(){return mWidth;} + + void initialize(const Ogre::String& heightmapName, size_t iWidth = 0); + void destroy(); + + + Heightmap* getHeightmap(){return mHeightmap;} + + QNode* getRootNode(){return mRootNode;} + + bool getHeightAt(Ogre::Vector3& vPos, Ogre::Real rBonus = 0.0f, bool bUseRoot = false, bool bUseGeoMorphing = false); + + Ogre::Vector3 getNormalAt(Ogre::Vector3& vPos, bool bUseRoot = false, bool bUseGeoMorphing = false); + + bool getRayHeight(const Ogre::Ray& vRay, Ogre::Vector3& vReturnPos, bool bUseRoot = false, bool bUseGeoMorphing = false); + + void _checkIn(){mTotalNodes++;} + + void onFrameStart(Ogre::Real fTime); + + void onFrameEnd(Ogre::Real fTime); + + QNode* addTerrainModifier(TerrainModifier& pModifier); + + AtmosphericCubeMap* createAtmosphere( + Ogre::Real fPlanetRadius, + Ogre::Real fAtmosphereRadius, + Ogre::Real fHG, + Ogre::Real fSunBrightness, + Ogre::Real fMaxDistance, + const Ogre::Vector3& vMie, + const Ogre::Vector3& vRaleigh, + const Ogre::String& strSkyBoxMatName, + size_t iExtinctionTexSize = 1024, + size_t iSkyBoxTexSize = 512, + Ogre::Real fRaleighCoef = 0.2f, + Ogre::Real fMieCoef = 0.001, + const Ogre::String& strCubeMapTexName = "SPT_SkyBox_Tex", + const Ogre::String& strExtinctionTexName = "SPT_Ext_Tex", + const Ogre::String& strTerrainMaxDistanceParamName = "fMaxDistance", + const Ogre::String& strSkyBoxTexUnitName = "SkyBox", + const Ogre::String& strTerrainSkyTexUnitName = "SkyBox", + const Ogre::String& strTerrainExtinctionTexUnitName = "Extinction"); + + AtmosphericCubeMap* createAtmosphere( + const Ogre::String& strImportSettingsFile, + const Ogre::String& strSkyBoxMatName, + const Ogre::String& strCubeMapTexName = "SPT_SkyBox_Tex", + const Ogre::String& strExtinctionTexName = "SPT_Ext_Tex", + const Ogre::String& strTerrainMaxDistanceParamName = "fMaxDistance", + const Ogre::String& strSkyBoxTexUnitName = "SkyBox", + const Ogre::String& strTerrainSkyTexUnitName = "SkyBox", + const Ogre::String& strTerrainExtinctionTexUnitName = "Extinction"); + + GPULightmapper* createLightmapper( + const Ogre::String& strLightmapMatName, + const Ogre::String& strCompositorName, + size_t iMaxLightmapSize = 2048, + size_t iMaxHeightmapTexSize = 2049, + const Ogre::String& strLightmapScaleParamName = "vScale", + const Ogre::String& strLightmapHeightmapSizeParamName = "fSize", + const Ogre::String& strHeightmapTexName = "SPT_Heightmap_Tex", + const Ogre::String& strRenderTextureName = "SPT_Lightmap_RTT", + const Ogre::String& strLightmapTexUnitName = "Heightmap", + const Ogre::String& strTerrainTexUnitName = "Lightmap", + const Ogre::String& strCompositorScaleParamName = "vScale"); + + AtmosphericCubeMap* getAtmosphere(){return mSkyMap;} + GPULightmapper* getLightmapper(){return mLightmapper;} + + void setLightDirection(const Ogre::Vector3& vLightDir); + + + void quickSetup( + const Ogre::String& strHeightmapName, + size_t iHeightmapWidth, + const Ogre::String& strTerrainMaterialName, + Ogre::Real fTerrainWidth, + Ogre::Real fTerrainHeight ); + + + private: + typedef std::map<size_t, Ogre::IndexData*> IndexStorage; + IndexStorage mIndexStore; + + Ogre::Camera* mCamera; + Ogre::SceneNode* mTerrainNode; + Ogre::SceneManager* mSceneMgr; + Ogre::MaterialPtr mTerrainZFirstMaterial; + Ogre::MaterialPtr mTerrainMaterial; + + Ogre::Real mTerrainHeight; + Ogre::Real mSkirtLength; + Ogre::Real mMorphSpeed; + + AutoClampState mClampState; + Ogre::Real mClampBonusHeight; + bool mClampUseRoot; + bool mClampUseGeoMorph; + //TerrainMods mModifiers; + + GPULightmapper* mLightmapper; + AtmosphericCubeMap* mSkyMap; + + size_t mMaxDepth; + + size_t mTotalNodes; + double mWidth; + + Heightmap* mHeightmap; + + QNode* mRootNode; + + HeightmapReader* mSingleton; + + Ogre::Vector3 mLightDirection; + + }; +} \ No newline at end of file Property changes on: trunk/simplepagedterrain/trunk/library/include/Terrain.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/simplepagedterrain/trunk/library/include/TerrainMesh.h =================================================================== --- trunk/simplepagedterrain/trunk/library/include/TerrainMesh.h (rev 0) +++ trunk/simplepagedterrain/trunk/library/include/TerrainMesh.h 2008-06-20 03:19:41 UTC (rev 2452) @@ -0,0 +1,197 @@ +#pragma once + +#include <OgrePrerequisites.h> +#include <OgreMaterial.h> +#include <OgreMovableObject.h> +#include <OgreRenderable.h> +#include <OgreCamera.h> +#include <OgreSceneNode.h> +#include <OgreTexture.h> +#include <OgreSceneManager.h> +#include "Prerequisites.h" +#include "MovableText.h" + +namespace SPT +{ + class TerrainMesh : public Ogre::MovableObject, public Ogre::Renderable + { + public: + + TerrainMesh(Terrain* pTerrain, QNode* pParentNode); + + ~TerrainMesh(); + + /// Overridden from Renderable to allow the morph LOD entry to be set + void _updateCustomGpuParameter( + const Ogre::GpuProgramParameters::AutoConstantEntry& constantEntry, + Ogre::GpuProgramParameters* params) const; + + void setRenderLevel(size_t iLOD = 0); + + size_t getRenderLevel(){return mRenderLevel;} + + Ogre::Real _calculateCFactor(); + void _calculateMinLevelDist2( Ogre::Real C ); + + Ogre::HardwareVertexBufferSharedPtr createDeltaBuffer(void); + + void _notifyCurrentCamera(Ogre::Camera* cam); + + void createGeometryData(); + void build(); + + void getImportantStats(int& renderLevel, int& targetRenderLevel, float& LODMorph); + void setImportantStats(int renderLevel, int targetRenderLevel, float LODMorph); + + void setPreCalculatedLight(Ogre::TexturePtr pRenderedLight){mRenderedLighting = pRenderedLight;} + + void destroyGeometry(); + void destroyGeometryData(); + void destroyRenderedLighting(); + void destroyMaterial(); + + Ogre::IndexData* getIndexData(size_t iLOD = 0); + + const Ogre::Vector3& getVertexPosition(size_t x, size_t z); + + enum TerrainSplitState + { + TSS_NONE = 0, + TSS_SPLIT, + TSS_UNSPLIT + }; + + void update(Ogre::Real rTime = 0.0f); + + void checkLOD(); + + TerrainSplitState getSplitState(){return mSplitState;} + + Ogre::Real getMorph(){return mLODMorphFactor;} + + void justSplit(); + + void justUnSplit(); + + + // REQUIRED VIRTUALS: + const Ogre::String& getMovableType(void) const + { + static Ogre::String movType = "SPT_TerrainMesh"; + return movType; + } + const Ogre::Ax... [truncated message content] |
From: <Hex...@us...> - 2008-06-20 03:02:00
|
Revision: 2451 http://ogreaddons.svn.sourceforge.net/ogreaddons/?rev=2451&view=rev Author: HexiDave Date: 2008-06-19 20:02:06 -0700 (Thu, 19 Jun 2008) Log Message: ----------- Moving old SPT to branch/v1 Added Paths: ----------- trunk/simplepagedterrain/branches/ trunk/simplepagedterrain/branches/v1/ trunk/simplepagedterrain/branches/v1/bin/ trunk/simplepagedterrain/branches/v1/docs/ trunk/simplepagedterrain/branches/v1/libnoise/ trunk/simplepagedterrain/branches/v1/media/ trunk/simplepagedterrain/branches/v1/project/ trunk/simplepagedterrain/branches/v1/source/ Removed Paths: ------------- trunk/simplepagedterrain/bin/ trunk/simplepagedterrain/docs/ trunk/simplepagedterrain/libnoise/ trunk/simplepagedterrain/media/ trunk/simplepagedterrain/project/ trunk/simplepagedterrain/source/ Copied: trunk/simplepagedterrain/branches/v1/bin (from rev 2450, trunk/simplepagedterrain/bin) Copied: trunk/simplepagedterrain/branches/v1/docs (from rev 2450, trunk/simplepagedterrain/docs) Copied: trunk/simplepagedterrain/branches/v1/libnoise (from rev 2450, trunk/simplepagedterrain/libnoise) Copied: trunk/simplepagedterrain/branches/v1/media (from rev 2450, trunk/simplepagedterrain/media) Copied: trunk/simplepagedterrain/branches/v1/project (from rev 2450, trunk/simplepagedterrain/project) Copied: trunk/simplepagedterrain/branches/v1/source (from rev 2450, trunk/simplepagedterrain/source) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wol...@us...> - 2008-06-13 00:01:24
|
Revision: 2450 http://ogreaddons.svn.sourceforge.net/ogreaddons/?rev=2450&view=rev Author: wolverine___ Date: 2008-06-12 17:00:28 -0700 (Thu, 12 Jun 2008) Log Message: ----------- - Please refer to the changelog.txt for detailed information about what has changed. Unfortunately changelog.txt stores changes compared to dsi 0.2.0. So if you would like to know the changes made in this commit then compare the changelog.txt in the previous commit with the changelog.txt in this one. HDRLib was slightly modified for the project. I have left the newest version of the modified HDRLib in my office, so I'm doing the commit with an older one I have here at home. As long as I remember they are the same, however there may be minor differences. I was unable to test if the added HDRLib works or not, maybe its precompiled libs needs to be recompiled due to some compiler option changes in other projects (static linking of standard libraries, etc.). Sorry for committing it untested but I'm having posts with many people who are really eager to see the new version of dotScene interface, and I have made a promise that I'm going to commit it. If anyone is experiencing problems with the included HDRLib I'm going to correct any issues with the next commit. Changes in short: - RenderWindow, Viewport, Compositor, HDRCompositor parsing support including many attributes, see the dtd for more information. - You can now create and register a new element processor easily. Interface for it have been implemented. - dotSceneViewer_scyther.xml.bat were removed, since it was part of one of my own projects and not dotScene related projects. It was committed accidentally. - dotSceneFormat_VC80.suo was added to the repository, it was left out before accidentally. - HDRLib added to the project as a dependency. - HDRLib was slightly modified for the project. - Minor improvements. - etc. (for detailed information refer to the changelog.txt or readme.txt). Ah, its really late now, so sorry if I wrote something which wasn't really clear or if my english has gone weird. Linux port is comming soon it will be included in the following commits. Modified Paths: -------------- trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPCommonParamsOfXmlNodeProcessors.h trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPPrerequisites.h trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessor.cpp trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessor.h trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessorTreeBuilder.h trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XmlNodeProcessor.vcproj trunk/dotsceneformat/Source/Dependencies/trunk/main/Tinyxml/lib/tinyxml.lib trunk/dotsceneformat/Source/Dependencies/trunk/main/Tinyxml/lib/tinyxml_d.lib trunk/dotsceneformat/Source/Dependencies/trunk/main/Tinyxml/src/tinyxml.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/Documentation/Readme.txt trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/Documentation/Roadmap.txt trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/Documentation/dotScene.dtd trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneInfo.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneNodeProcessorTreeBuilder.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneProcessor.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneProcessorImpl.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneProcessorImpl_v1_0_0.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneXmlNodeProcessors.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneInfo.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneNodeProcessorTreeBuilder.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneProcessor.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneProcessorImpl_v1_0_0.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneXmlNodeProcessors.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/dotSceneInterface_VC8.vcproj trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/DotSceneOctreeSceneManager.vcproj trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/DotSceneViewer_VC80.vcproj trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/DotSceneViewer_VC80.vcproj.WOLVERINE_.Wolverine_.user trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/ExampleApplication.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/ExampleFrameListener.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/dotSceneViewerFrameListener.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Source/dotSceneViewerApplication.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Source/dotSceneViewerFrameListener.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/dotSceneFormat_VC80.sln Added Paths: ----------- trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessorTreeBuilder.cpp trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/HDRLib.vcproj trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/HDRLib.vcproj.WOLVERINE_.Wolverine_.user trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/Readme.txt trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/includes/ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/includes/HDRCompositor.h trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/lib/ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/lib/HDRLib.lib trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/lib/HDRLib_d.lib trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/AdaptLuminance.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/AutoKey.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/BuildLocalAdaptMap.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/CopyHDR.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/Gauss_2.0.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/HDRFinalAdaptiveLog.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/HDRFinalLinear.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/HDRFinalLog.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/HDRFinalReinh.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/HDRFinalReinhLocal.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/HDRFinalReinhMod.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/LumDown2.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/LuminanceScale.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/ManualKey.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/Merge2.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/Merge4.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/ScaleWorldLum.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/brightpass.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/down2.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/down4.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/lum1.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/lum2.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/lumfinalavg.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/lumfinalmax.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/luminit.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Scripts/ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Scripts/blur+star.material trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Scripts/hdrchain.material trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Scripts/luminance.material trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/gui/ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/gui/HDRCegui.config trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/gui/HDRGui.xml trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/materials/ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/materials/programs/ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/materials/programs/convenv.fx trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/materials/programs/skybox.psh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/materials/programs/skybox.vsh trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/materials/scripts/ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/materials/scripts/Sky.material trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/materials/scripts/convenv.material trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/materials/textures/ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/materials/textures/beach_diff.dds trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/materials/textures/beach_diff_hdr.dds trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/materials/textures/beach_phong.dds trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/materials/textures/beach_phong_hdr.dds trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/materials/textures/beach_spec.dds trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/materials/textures/beach_spec_hdr.dds trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/materials/textures/beach_spec_hdr16.dds trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/src/ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/src/HDRCompositor.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/dotSceneFormat_VC80.suo Removed Paths: ------------- trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/dotSceneViewer_scyther.xml.bat Modified: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPCommonParamsOfXmlNodeProcessors.h =================================================================== --- trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPCommonParamsOfXmlNodeProcessors.h 2008-06-11 23:18:48 UTC (rev 2449) +++ trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPCommonParamsOfXmlNodeProcessors.h 2008-06-13 00:00:28 UTC (rev 2450) @@ -28,7 +28,7 @@ namespace XmlNodeProcessing { - class BUILDMODE CommonParamsOfXmlNodeProcessors + class _XmlNodeProcessing_BuildMode CommonParamsOfXmlNodeProcessors { public: typedef std::map<String, void*> ParameterMap; Modified: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPPrerequisites.h =================================================================== --- trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPPrerequisites.h 2008-06-11 23:18:48 UTC (rev 2449) +++ trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPPrerequisites.h 2008-06-13 00:00:28 UTC (rev 2450) @@ -56,12 +56,31 @@ /// Since currently even XmlNodeProcessor itself relies on std::string, ask tinyxml to do it the same way. #define TIXML_USE_STL - /// TODO: FIXTHIS: BUILDMODE should consist a correct value. - #ifndef BUILDMODE - #define BUILDMODE - #endif +//---------------------------------------------------------------------------- +// Windows Settings +#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 + // If we're not including this from a client build, specify that the stuff + // should get exported. Otherwise, import it. +# if defined( XMLNODEPROCESSING_BUILDMODE_LIB ) + // Linux compilers don't have symbol import/export directives. +# define _XmlNodeProcessing_BuildMode +# define _XmlNodeProcessing_BuildModePrivate +# else +# if defined( XMLNODEPROCESSING_BUILDMODE_DLL_EXPORT ) +# define _XmlNodeProcessing_BuildMode __declspec( dllexport ) +# else +# if defined( __MINGW32__ ) +# define _XmlNodeProcessing_BuildMode +# else +# define _XmlNodeProcessing_BuildMode __declspec( dllimport ) +# endif +# endif +# define _XmlNodeProcessing_BuildModePrivate +# endif +#endif // #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 + typedef std::string String; typedef std::vector<String> StringVector; Modified: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessor.cpp =================================================================== --- trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessor.cpp 2008-06-11 23:18:48 UTC (rev 2449) +++ trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessor.cpp 2008-06-13 00:00:28 UTC (rev 2450) @@ -21,13 +21,13 @@ ----------------------------------------------------------------------------- */ -/// @file XmlNodeProcessor.cpp +/// @file XNPXmlNodeProcessor.cpp /// @brief Source for XmlNodeProcessor, a processor base class for TinyXML nodes. /// /// @author Tibor Tihon, Balazs Hajdics -#include "XnpXmlNodeProcessor.h" +#include "XNPXmlNodeProcessor.h" #include "XNPPrerequisites.h" #include "XNPXmlNodeProcessor.h" #include <algorithm> @@ -44,7 +44,6 @@ } XmlNodeProcessor::XmlNodeProcessor(): - mParsedNode(0), mTiXmlNode(0), mTextProcessor(0), mCommentProcessor(0), @@ -192,7 +191,8 @@ if (*l != NULL) (*l)->preElementParse(this, currentNode); - mParsedNode = parseElementImpl(parent, currentNode); + void* parsedNode = parseElementImpl(parent, currentNode); + mParsedNodes.push( parsedNode ); XmlNodeProcessor* defaultElementProcessor = NULL; XmlNodeProcessorMap::iterator i = mElementProcessorMap.find(""); @@ -268,11 +268,12 @@ if (*l != NULL) (*l)->postElementParse(this, currentNode); + mParsedNodes.pop(); mProcessedElementsMapStack.pop(); mProcessedCommentsStack.pop(); mProcessedTextsStack.pop(); - return mParsedNode; + return parsedNode; } void* XmlNodeProcessor::parseComment(XmlNodeProcessor* parent, TiXmlComment* currentNode) @@ -281,13 +282,16 @@ if (*l != NULL) (*l)->preCommentParse(this, currentNode); - mParsedNode = parseCommentImpl(parent, currentNode); + void* parsedComment = parseCommentImpl(parent, currentNode); + mParsedNodes.push( parsedComment ); for (std::set<ParseListener*>::iterator l = mParseListeners.begin(); l != mParseListeners.end(); ++l) if (*l != NULL) (*l)->postCommentParse(this, currentNode); - return mParsedNode; + mParsedNodes.pop(); + + return parsedComment; } void* XmlNodeProcessor::parseText(XmlNodeProcessor* parent, TiXmlText* currentNode) @@ -295,14 +299,17 @@ for (std::set<ParseListener*>::iterator l = mParseListeners.begin(); l != mParseListeners.end(); ++l) if (*l != NULL) (*l)->preTextParse(this, currentNode); + + void* parsedText = parseTextImpl(parent, currentNode); + mParsedNodes.push( parseTextImpl(parent, currentNode) ); - mParsedNode = parseTextImpl(parent, currentNode); - for (std::set<ParseListener*>::iterator l = mParseListeners.begin(); l != mParseListeners.end(); ++l) if (*l != NULL) (*l)->postTextParse(this, currentNode); - return mParsedNode; + mParsedNodes.pop(); + + return parsedText; } TiXmlNode* XmlNodeProcessor::getTiXmlNode() @@ -312,7 +319,7 @@ void* XmlNodeProcessor::getParsedNode() { - return mParsedNode; + return mParsedNodes.size() > 0 ? mParsedNodes.top() : NULL; } void XmlNodeProcessor::serializeChildren(const XmlNodeProcessorVectorItem& item, TiXmlElement& currentNode, void* currentData) Modified: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessor.h =================================================================== --- trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessor.h 2008-06-11 23:18:48 UTC (rev 2449) +++ trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessor.h 2008-06-13 00:00:28 UTC (rev 2450) @@ -59,7 +59,7 @@ /// processed easily without having to know how any of the other nodes are /// processed. The only thing you have to do is to register an object for /// the processor of the new XML tag in the processor of the parent tag. - class BUILDMODE XmlNodeProcessor + class _XmlNodeProcessing_BuildMode XmlNodeProcessor { // -= Constructing & destructing =- @@ -151,8 +151,8 @@ // -= Parsing =- protected: - /// Pointer to the data that had been parsed. - void* mParsedNode; + /// Stack containing the pointers to parsed data. + std::stack< void* > mParsedNodes; /// Pointer to the Tiny XML node being parsed. TiXmlNode* mTiXmlNode; Added: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessorTreeBuilder.cpp =================================================================== --- trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessorTreeBuilder.cpp (rev 0) +++ trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessorTreeBuilder.cpp 2008-06-13 00:00:28 UTC (rev 2450) @@ -0,0 +1,81 @@ +/* +----------------------------------------------------------------------------- +Theory: Balazs Hajdics +Author: David Vizi (tib...@gm...), Balazs Hajdics (wol...@fr...) + +Copyright (C) 2007 David Vizi, Balazs Hajdics + +This program is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the Free Software +Foundation; either version 2 of the License, or (at your option) any later +version. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License along with +this program; if not, write to the Free Software Foundation, Inc., 59 Temple +Place - Suite 330, Boston, MA 02111-1307, USA, or go to +http://www.gnu.org/copyleft/lesser.txt. +----------------------------------------------------------------------------- +*/ + +/// @file XNPXmlNodeProcessorTreeBuilder.cpp +/// @brief Source for XmlNodeProcessorTreeBuilder, ... +/// +/// @author Balazs Hajdics, David Vizi + + +#include "XNPXmlNodeProcessor.h" +#include "XNPPrerequisites.h" +#include "XNPXmlNodeProcessorTreeBuilder.h" +#include <algorithm> + +/// XmlNodeProcessorTreeBuilder relates to XmlNodeProcessor class, so place it into the namespace of XmlNodeProcessor. +namespace XmlNodeProcessing { + + +XmlNodeProcessorTreeBuilder::ProcessorVector XmlNodeProcessorTreeBuilder::getProcessorsByName(const String& name) +{ + return mNamesToProcessorsMap[name]; +} + +XmlNodeProcessorTreeBuilder::ProcessorVector XmlNodeProcessorTreeBuilder::getParents(XmlNodeProcessor *pChild) +{ + return mChildrenToParentsMap[pChild]; +} + +void XmlNodeProcessorTreeBuilder::addParseListener(XmlNodeProcessor::ParseListener *pListener) +{ + for (size_t i = 0; i < mProcessors.size(); ++i) + mProcessors[i]->addParseListener(pListener); +} + +void XmlNodeProcessorTreeBuilder::removeParseListener(XmlNodeProcessor::ParseListener *pListener) +{ + for (size_t i = 0; i < mProcessors.size(); ++i) + mProcessors[i]->removeParseListener(pListener); +} + +void XmlNodeProcessorTreeBuilder::registerElementProcessor(const String& name, XmlNodeProcessor *pParent, XmlNodeProcessor *pChild) +{ + XmlNodeProcessorTreeBuilder::ProcessorVector& namedVector = mNamesToProcessorsMap[name]; + if (std::find(namedVector.begin(), namedVector.end(), pChild) == namedVector.end()) + namedVector.push_back(pChild); + mChildrenToParentsMap[pChild].push_back(pParent); + pParent->addElementProcessor(name, pChild); + + // Add the child to the vector containing all processors. + if (std::find(mProcessors.begin(), mProcessors.end(), pChild) == mProcessors.end()) + mProcessors.push_back(pChild); +} + +void XmlNodeProcessorTreeBuilder::registerRootProcessor(const String& name, XmlNodeProcessor* pRoot) +{ + mRoot = pRoot; + mNamesToProcessorsMap[name].push_back(pRoot); + mProcessors.push_back(pRoot); +} + +} \ No newline at end of file Property changes on: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessorTreeBuilder.cpp ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Modified: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessorTreeBuilder.h =================================================================== --- trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessorTreeBuilder.h 2008-06-11 23:18:48 UTC (rev 2449) +++ trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessorTreeBuilder.h 2008-06-13 00:00:28 UTC (rev 2450) @@ -29,6 +29,7 @@ #include "XNPPrerequisites.h" #include "XNPCommonParamsOfXmlNodeProcessors.h" +#include "XNPXmlNodeProcessor.h" namespace XmlNodeProcessing { @@ -45,14 +46,20 @@ /// will be called after all sub-elements in the top level "A" are parsed. This function may operate on member variable /// mParsedNode, which may consist a wrong value. /// - class BUILDMODE XmlNodeProcessorTreeBuilder + class _XmlNodeProcessing_BuildMode XmlNodeProcessorTreeBuilder { + public: + typedef std::vector<XmlNodeProcessor*> ProcessorVector; + protected: - CommonParamsOfXmlNodeProcessors* mCommonParamsOfXmlNodeProcessors; + typedef std::map<std::string, ProcessorVector> NamesToProcessorsMap; + typedef std::map<XmlNodeProcessor*, ProcessorVector> ChildrenToParentsMap; + public: XmlNodeProcessorTreeBuilder::XmlNodeProcessorTreeBuilder(CommonParamsOfXmlNodeProcessors* commonParams): - mCommonParamsOfXmlNodeProcessors(commonParams) + mCommonParamsOfXmlNodeProcessors(commonParams), + mRoot(0) { } @@ -91,6 +98,23 @@ { return mCommonParamsOfXmlNodeProcessors->getCurrentlySetParameters(); } + + virtual ProcessorVector getProcessorsByName(const String& name); + virtual ProcessorVector getParents(XmlNodeProcessor *pChild); + virtual void addParseListener(XmlNodeProcessor::ParseListener *pListener); + virtual void removeParseListener(XmlNodeProcessor::ParseListener *pListener); + + protected: + void registerElementProcessor(const String& name, XmlNodeProcessor* pParent, XmlNodeProcessor* pChild); + void registerRootProcessor(const String& name, XmlNodeProcessor* pRoot); + + protected: + CommonParamsOfXmlNodeProcessors* mCommonParamsOfXmlNodeProcessors; + + NamesToProcessorsMap mNamesToProcessorsMap; + ChildrenToParentsMap mChildrenToParentsMap; + ProcessorVector mProcessors; + XmlNodeProcessor* mRoot; }; } Modified: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XmlNodeProcessor.vcproj =================================================================== --- trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XmlNodeProcessor.vcproj 2008-06-11 23:18:48 UTC (rev 2449) +++ trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XmlNodeProcessor.vcproj 2008-06-13 00:00:28 UTC (rev 2450) @@ -20,7 +20,7 @@ OutputDirectory="..\..\..\..\..\Bin\Release\trunk\main\Executables\Debug" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="1" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -41,7 +41,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\..\..\Dependencies\trunk\main\Tinyxml\includes;..\..\..\..\Dependencies\trunk\main\OGRE\includes" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;XMLNODEPROCESSING_BUILDMODE_LIB" MinimalRebuild="true" BasicRuntimeChecks="3" RuntimeLibrary="1" @@ -62,9 +62,9 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="tinyxmld.lib" + AdditionalDependencies="tinyxml_d.lib" LinkIncremental="2" - AdditionalLibraryDirectories="..\..\..\..\Dependencies\trunk\main\Tinyxml\lib" + AdditionalLibraryDirectories="..\..\..\..\Dependencies\trunk\main\Tinyxml\lib;../../../../../../Dependencies/trunk/main/Ogre/lib" GenerateDebugInformation="true" SubSystem="1" TargetMachine="1" @@ -120,7 +120,7 @@ <Tool Name="VCCLCompilerTool" AdditionalIncludeDirectories="..\..\..\..\Dependencies\trunk\main\Tinyxml\includes;..\..\..\..\Dependencies\trunk\main\OGRE\includes" - PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;XMLNODEPROCESSING_BUILDMODE_LIB" RuntimeLibrary="0" RuntimeTypeInfo="false" UsePrecompiledHeader="0" @@ -142,7 +142,7 @@ Name="VCLinkerTool" AdditionalDependencies="tinyxml.lib" LinkIncremental="1" - AdditionalLibraryDirectories="..\..\..\..\Dependencies\trunk\main\Tinyxml\lib" + AdditionalLibraryDirectories="..\..\..\..\Dependencies\trunk\main\Tinyxml\lib;../../../../../../Dependencies/trunk/main/Ogre/lib" GenerateDebugInformation="true" SubSystem="1" OptimizeReferences="2" @@ -179,7 +179,7 @@ OutputDirectory="..\..\..\..\..\Bin\Release\trunk\main\Executables\Debug" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="4" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -200,10 +200,10 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\..\..\Dependencies\trunk\main\Tinyxml\includes;..\..\..\..\Dependencies\trunk\main\OGRE\includes" - PreprocessorDefinitions="WIN32;_DEBUG;" + PreprocessorDefinitions="WIN32;_DEBUG;XMLNODEPROCESSING_BUILDMODE_LIB" MinimalRebuild="true" BasicRuntimeChecks="3" - RuntimeLibrary="1" + RuntimeLibrary="3" RuntimeTypeInfo="false" UsePrecompiledHeader="0" ProgramDataBaseFileName="$(IntDir)\$(TargetName).pdb" @@ -245,7 +245,7 @@ OutputDirectory="..\..\..\..\..\Bin\Release\trunk\main\Executables\Debug" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="2" - CharacterSet="1" + CharacterSet="2" > <Tool Name="VCPreBuildEventTool" @@ -266,10 +266,10 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\..\..\Dependencies\trunk\main\Tinyxml\includes;..\..\..\..\Dependencies\trunk\main\OGRE\includes" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;XMLNODEPROCESSING_BUILDMODE_DLL_EXPORT" MinimalRebuild="true" BasicRuntimeChecks="3" - RuntimeLibrary="1" + RuntimeLibrary="3" UsePrecompiledHeader="0" ProgramDataBaseFileName="$(IntDir)\$(TargetName).pdb" WarningLevel="3" @@ -287,10 +287,10 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="tinyxmld.lib" + AdditionalDependencies="tinyxml_d.lib OgreMain_d.lib" OutputFile="$(OutDir)\$(ProjectName)_d.dll" LinkIncremental="2" - AdditionalLibraryDirectories="..\..\..\..\Dependencies\trunk\main\Tinyxml\lib" + AdditionalLibraryDirectories="..\..\..\..\Dependencies\trunk\main\Tinyxml\lib;../../../../../../Dependencies/trunk/main/Ogre/lib" GenerateDebugInformation="true" SubSystem="2" TargetMachine="1" @@ -353,15 +353,15 @@ OmitFramePointers="true" WholeProgramOptimization="true" AdditionalIncludeDirectories="..\..\..\..\Dependencies\trunk\main\Tinyxml\includes;..\..\..\..\Dependencies\trunk\main\OGRE\includes" - PreprocessorDefinitions="WIN32;NDEBUG;_LIB;" + PreprocessorDefinitions="WIN32;NDEBUG;_LIB;XMLNODEPROCESSING_BUILDMODE_LIB" MinimalRebuild="false" BasicRuntimeChecks="0" - RuntimeLibrary="0" + RuntimeLibrary="2" RuntimeTypeInfo="false" UsePrecompiledHeader="0" ProgramDataBaseFileName="$(IntDir)\$(TargetName).pdb" WarningLevel="3" - Detect64BitPortabilityProblems="false" + Detect64BitPortabilityProblems="true" DebugInformationFormat="3" /> <Tool @@ -399,7 +399,7 @@ OutputDirectory="..\..\..\..\..\Bin\Release\trunk\main\Executables\Release" IntermediateDirectory="$(ConfigurationName)" ConfigurationType="2" - CharacterSet="1" + CharacterSet="2" WholeProgramOptimization="1" > <Tool @@ -425,15 +425,15 @@ FavorSizeOrSpeed="0" OmitFramePointers="false" AdditionalIncludeDirectories="..\..\..\..\Dependencies\trunk\main\Tinyxml\includes;..\..\..\..\Dependencies\trunk\main\OGRE\includes" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;XMLNODEPROCESSING_BUILDMODE_DLL_EXPORT" MinimalRebuild="false" BasicRuntimeChecks="0" - RuntimeLibrary="0" + RuntimeLibrary="2" RuntimeTypeInfo="false" UsePrecompiledHeader="0" ProgramDataBaseFileName="$(IntDir)\$(TargetName).pdb" WarningLevel="3" - Detect64BitPortabilityProblems="false" + Detect64BitPortabilityProblems="true" DebugInformationFormat="3" /> <Tool @@ -447,10 +447,10 @@ /> <Tool Name="VCLinkerTool" - AdditionalDependencies="tinyxml.lib" + AdditionalDependencies="tinyxml.lib OgreMain.lib" OutputFile="$(OutDir)\$(ProjectName).dll" LinkIncremental="1" - AdditionalLibraryDirectories="..\..\..\..\Dependencies\trunk\main\Tinyxml\lib" + AdditionalLibraryDirectories="..\..\..\..\Dependencies\trunk\main\Tinyxml\lib;../../../../../../Dependencies/trunk/main/Ogre/lib" GenerateDebugInformation="true" SubSystem="2" OptimizeReferences="2" @@ -523,6 +523,10 @@ RelativePath=".\XNPXmlNodeProcessor.cpp" > </File> + <File + RelativePath=".\XNPXmlNodeProcessorTreeBuilder.cpp" + > + </File> </Filter> </Files> <Globals> Added: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/HDRLib.vcproj =================================================================== --- trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/HDRLib.vcproj (rev 0) +++ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/HDRLib.vcproj 2008-06-13 00:00:28 UTC (rev 2450) @@ -0,0 +1,180 @@ +<?xml version="1.0" encoding="windows-1250"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8,00" + Name="HDRLib" + ProjectGUID="{5B2FC2A2-8C2D-4F38-896C-B67E14B3205F}" + RootNamespace="HDRLib" + Keyword="Win32Proj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="./lib" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="4" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="includes;../Ogre/includes" + PreprocessorDefinitions="WIN32;_DEBUG;_LIB" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + OutputFile="$(OutDir)\$(ProjectName)_d.lib" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="./lib" + IntermediateDirectory="$(ConfigurationName)" + ConfigurationType="4" + CharacterSet="2" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="includes;../Ogre/includes" + PreprocessorDefinitions="WIN32;NDEBUG;_LIB" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLibrarianTool" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\src\HDRCompositor.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath=".\includes\HDRCompositor.h" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + <File + RelativePath=".\ReadMe.txt" + > + </File> + </Files> + <Globals> + </Globals> +</VisualStudioProject> Property changes on: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/HDRLib.vcproj ___________________________________________________________________ Name: svn:eol-style + CRLF Added: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/HDRLib.vcproj.WOLVERINE_.Wolverine_.user =================================================================== --- trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/HDRLib.vcproj.WOLVERINE_.Wolverine_.user (rev 0) +++ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/HDRLib.vcproj.WOLVERINE_.Wolverine_.user 2008-06-13 00:00:28 UTC (rev 2450) @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="windows-1250"?> +<VisualStudioUserFile + ProjectType="Visual C++" + Version="8,00" + ShowAllFiles="false" + > + <Configurations> + <Configuration + Name="Debug|Win32" + > + <DebugSettings + Command="" + WorkingDirectory="" + CommandArguments="" + Attach="false" + DebuggerType="3" + Remote="1" + RemoteMachine="WOLVERINE_" + RemoteCommand="" + HttpUrl="" + PDBPath="" + SQLDebugging="" + Environment="" + EnvironmentMerge="true" + DebuggerFlavor="" + MPIRunCommand="" + MPIRunArguments="" + MPIRunWorkingDirectory="" + ApplicationCommand="" + ApplicationArguments="" + ShimCommand="" + MPIAcceptMode="" + MPIAcceptFilter="" + /> + </Configuration> + <Configuration + Name="Release|Win32" + > + <DebugSettings + Command="" + WorkingDirectory="" + CommandArguments="" + Attach="false" + DebuggerType="3" + Remote="1" + RemoteMachine="WOLVERINE_" + RemoteCommand="" + HttpUrl="" + PDBPath="" + SQLDebugging="" + Environment="" + EnvironmentMerge="true" + DebuggerFlavor="" + MPIRunCommand="" + MPIRunArguments="" + MPIRunWorkingDirectory="" + ApplicationCommand="" + ApplicationArguments="" + ShimCommand="" + MPIAcceptMode="" + MPIAcceptFilter="" + /> + </Configuration> + </Configurations> +</VisualStudioUserFile> Property changes on: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/HDRLib.vcproj.WOLVERINE_.Wolverine_.user ___________________________________________________________________ Name: svn:eol-style + CRLF Added: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/Readme.txt =================================================================== --- trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/Readme.txt (rev 0) +++ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/Readme.txt 2008-06-13 00:00:28 UTC (rev 2450) @@ -0,0 +1,172 @@ +Readme +====== + + This source file is part of HDRlib + an addon for OGRE (Object-oriented Graphics Rendering Engine) + For the latest info, see http://www.ogre3d.org/ + + Copyright (C) 2006 Christian Luksch + Email: christian.luksch[a]aon.at + + This program is free software; you can redistribute it and/or modify it under + the terms of the GNU Lesser General Public License as published by the Free Software + Foundation; either version 2 of the License, or (at your option) any later + version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along with + this program; if not, write to the Free Software Foundation, Inc., 59 Temple + Place - Suite 330, Boston, MA 02111-1307, USA, or go to + http://www.gnu.org/copyleft/lesser.txt. + + +Description +=========== + + This Demo demonstrate HDR Rendering in Orge. It uses an independent HDRCompositor, which + can be easily used in very other Orge Program. The Scene is build of three simple objects + with an static convoluted environment mapping material and a HDR environment map. + + To run this Demo a video card that supports Shader 2.0 or higher is required. + + +Controls +======== + + Esc Exits the Demo + W,A,S,D Move Camera + RightMouse Drag Slide + LeftMouse Drag Rotate + MouseWheel Zoom + + + +How to use the HDRCompositor +============================ + + "HDRCompositor.h" and "HDRCompositor.cpp" have to be added to the project and the folder + "media/HDRCompositor" has to be added to the ressources. + + Its very important that all materials of the scene use at least Pixel-Shader 2.0. + There are some known problems with Stencil Shadows and Shadowmaps. + + To apply HDR to a scene, an instance of the HDRCompositor has to be created, at best in + the FrameListener. All Parameters can be set at any Time. Every frame, the elapsed time + has to be passed to the HDRCompositor, needed for the Luminance Adaption. + + For further details look at the Demo-Source. + + + +Functionallity of the HDRCompositor +=================================== + + The HDRCompositor usese the OgreCompositor to create a HDR post-processing effect, by + the given parameters. Parameters like the Key and the Glare/Star Strength just set some + shader constants, all other require to build a new compositor chain. + + +Parameters +---------- + +ToneMapper: + +GlareType, GlareStrength: + +StarType, StarStrength: + +AutoKeying: + +Key: + +LumAdaption: + +AdaptationScale: + + +Compositor-Chain +---------------- + + 1. The Scene is rendered in an floating-point surface. + 2. Downsample the Scene by 4, for further processing. + 3. Calculate the logarithmic average of the scene luminance from the downsample. + [4. Calculates an automatic key-value for the scene.] + [5. Render a Brightpass from the downsample, if star or glare is enabled.] + [6. Render Glare by bluring the Brightpass.] + [7. Render Star by meregin an horizontal and vertical blur of the Brightpass.] + 8. Draw the final Scene with selected Tonemapper, that transforms HDR to device-colorspace, + and add the optional Glare and Star to the output. + + +Tonemappers in Detail +--------------------- + +The implemented tonemappers are declared in "hdrchain.material". + +Linear: "HDRFinalLinear.psh" + + Color *= Key / avgLuminance + + Its the simplest and fastest Tonemapper. The complete HDR is simple mapped to LDR. + The contrast in dark regions is rather bad, but the colors are still strong. + +Reinhards[1]: "HDRFinalReinh.psh" + + Color *= Key / avgLuminance + Color /= Color + 0.5 + + This tonemapper scales a high luminance by 1/L and low 1, so it has a good contrast, + but on the other side colors shift to grey. + +Modified Reihards[1]: "HDRFinalReinhMod.psh" + + Color *= Key / avgLuminance + Color *= (1 + Colorscaledlum / ( WhiteLuminance^2 )) / (1 + Color); + + This is a modification of the tonemapper above, the Colors look stronger. + +Logarithmic[3]: "HDRFinalAdaptiveLog.psh" + + Color = maxLd * 0.01 / log10(maxLw + 1) * log10(Color - 1 + 8 * Color^(Color / maxLw, log10(Key)) + + maxLd is a output device intended scale factor, like in the paper its set to 100 for CRT-Monitors. + maxLw is the maximum scene luminance. + The Key works a bit different with this tonemapper, it affects the mapping curve and only values between + 0.5 and 1 should be used. + + This tonemapper should be a good mapping for high color-ranges. It might be good for images were you can + optimize these parameters, but in this scene its rather bad. + + +Finetuning +---------- + +Luminace Adaptation[2]: "AdaptLuminance.psh" + + This is a modification to simulate the adaptation of the human vision. The adation time isn't + constant, it depends on the luminance of the scene and adaptation in high luminance is faster than + in low. With the default settings its hard to recognize the adapatation, but the adaptation-time + can be chaged by setting the AdaptationScale to a value greater than 1. + +Auto-Keying[2]: "AutoKey.psh" + + Calculates an optimal key for the scene. The function used in this demo is optimized for the Modified + Reinhards tonemapper in this scene and shoulb better be tuned for every tonemapper and scene. + + + +References +========== + +[1] Photographic Tone Reproduction for Digital Images (2002) + by Erik Reinhard, Mike Stark, Peter Shirley and Jim Ferwerda + +[2] Perceptual Effects in Real-time Tone Mapping (2005) + by Grzegorz Krawczyk, Karol Myszkowski, Hans-Peter Seidel + +[3] Adaptive Logarithmic Mapping For Displaying High Contrast Scenes, (2003) + by F. Drago, K. Myszkowski, T. Annen and N. Chiba + Property changes on: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/Readme.txt ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/includes/HDRCompositor.h =================================================================== --- trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/includes/HDRCompositor.h (rev 0) +++ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/includes/HDRCompositor.h 2008-06-13 00:00:28 UTC (rev 2450) @@ -0,0 +1,209 @@ +/** +* This source file is part of HDRlib +* an addon for OGRE (Object-oriented Graphics Rendering Engine) +* For the latest info, see http://www.ogre3d.org/ +* +* This program is free software; you can redistribute it and/or modify it under +* the terms of the GNU Lesser General Public License as published by the Free Software +* Foundation; either version 2 of the License, or (at your option) any later +* version. + +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + +* You should have received a copy of the GNU Lesser General Public License along with +* this program; if not, write to the Free Software Foundation, Inc., 59 Temple +* Place - Suite 330, Boston, MA 02111-1307, USA, or go to +* http://www.gnu.org/copyleft/lesser.txt. +* +* @author Christian Luksch +* @see Readme.txt +*/ +#ifndef __HDRCompositor_H__ +#define __HDRCompositor_H__ + +#include <OgreCompositor.h> +#include <OgreCompositorManager.h> +#include <OgreCompositorChain.h> +#include <OgreCompositorInstance.h> +#include <OgreCompositionTechnique.h> +#include <OgreCompositionPass.h> +#include <OgreCompositionTargetPass.h> +#include <OgreRenderWindow.h> +#include <OgreCamera.h> + +using namespace Ogre; + +//#define NUMTONEMAPPERS 5 +//#define NUMGLARETYPES 2 +//#define NUMSTARTYPES 2 + +class HDRCompositor : public Ogre::CompositorInstance::Listener +{ +public: + + enum TONEMAPPER + { + TM_NONE = 0, + TM_LINEAR, + TM_REINHARDS, + TM_REINHARDSMOD, + TM_LOG, + TM_ADAPTLOG, + TM_REINHARDLOCAL, + TM_COUNT + }; + + enum GLARETYPE + { + GT_NONE = 0, + GT_BLUR + }; + + enum STARTYPE + { + ST_NONE = 0, + ST_PLUS, + ST_CROSS, + ST_PLUSCROSS + }; + + enum MATID + { + MID_KEY = 12345, + MID_LUMSCALE1, + MID_LUMSCALE2, + MID_LUMSCALE4, + MID_LUMSCALE8, + MID_BUILDLOCAL, + MID_DOWN, + MID_BRIGHT, + MID_GAUSSBLUR, + MID_STARH, + MID_STARV, + MID_FINAL, + MID_ADAPT, + MID_SCALE //must be last + }; + +protected: + + TONEMAPPER m_ToneMapper; + GLARETYPE m_GlareType; + float m_GlareStrength; + int m_GlarePasses; + STARTYPE m_StarType; + float m_StarStrength; + int m_StarPasses; + bool m_AutoKeying; + float m_Key; + bool m_LumAdaption; + float m_VpWidth,m_VpHeight; + bool m_Enable; + float m_FrameTime; + float m_AdaptationScale; + int m_DebugRendertarget; + float m_BrightPassOffset; + float m_BrightPassThresshold; + const int m_Scales; + float m_E; + float m_Phi; + + RenderWindow* m_Window; + Camera* m_Cam; + + CompositorPtr m_Compositor; + CompositionTechnique *m_HDRTechnique; + +public: + + HDRCompositor(RenderWindow* win, Camera* cam); + ~HDRCompositor(void) { } + + void Release(void); + + void Enable(const bool Enable); + bool IsEnabled(void) const { return m_Enable; } + + TONEMAPPER GetToneMapper(void) const { return m_ToneMapper; } + void SetToneMapper(const TONEMAPPER ToneMapper) { m_ToneMapper = ToneMapper; Create(); } + + GLARETYPE GetGlareType(void) const { return m_GlareType; } + void SetGlareType(const GLARETYPE GlareType) { m_GlareType = GlareType; Create(); } + + float GetGlareStrength(void) const { return m_GlareStrength; } + void SetGlareStrength(const float Strength) { m_GlareStrength = Strength; } + + int GetGlarePasses(void) const { return m_GlarePasses; } + void SetGlarePasses(const float Passes) { m_GlarePasses = Passes; Create(); } + + STARTYPE GetStarType(void) const { return m_StarType; } + void SetStarType(const STARTYPE StarType) { m_StarType = StarType; Create(); } + + float GetStarStrength(void) const { return m_StarStrength; } + void SetStarStrength(const float Strength) { m_StarStrength = Strength; } + + int GetStarPasses(void) const { return m_StarPasses; } + void SetStarPasses(const float Passes) { m_StarPasses = Passes; Create(); } + + bool GetAutoKeying(void) const { return m_AutoKeying; } + void SetAutoKeying(const bool AutoKeying) { m_AutoKeying = AutoKeying; Create(); } + + bool GetLumAdaptation(void) const { return m_LumAdaption; } + void SetLumAdaptation(bool LumAdaptation) { m_LumAdaption = LumAdaptation; Create(); } + + float GetKey(void) const { return m_Key; } + void SetKey(const float Key) { m_Key = Key; } + + float GetAdaptationScale(void) const {return m_AdaptationScale;} + void SetAdaptationScale(const float Scale) {m_AdaptationScale = Scale;} + + float GetLocalE(void) const { return m_E; } + void SetLocalE(const float e) { m_E = e; } + + float GetLocalPhi(void) const { return m_Phi; } + void SetLocalPhi(const float phi) { m_Phi = phi; } + + void SetFrameTime(const float FrameTime) { m_FrameTime = FrameTime; } + + //called once on material setup + virtual void notifyMaterialSetup(Ogre::uint32 pass_id, Ogre::MaterialPtr &mat); + + //called every frame + virtual void notifyMaterialRender(Ogre::uint32 pass_id, Ogre::MaterialPtr &mat); + + virtual void notifyViewportSize(int width, int height); + + void DebugRendertarget(const int rt){if(rt != m_DebugRendertarget) { m_DebugRendertarget = rt; Create(); }} + + static Ogre::String ToneMapperToString(const TONEMAPPER ToneMapper); + static Ogre::String GlareTypeToString(const GLARETYPE GlareType); + static Ogre::String StarTypeToString(const STARTYPE StarType); + +private: + + void Create(void); + + void CreateTextureDef(const Ogre::String name,const unsigned int width,const unsigned int height,const Ogre::PixelFormat format); + void BrightPass(void); + void RenderDownSample(void); + void CalculateLuminance(void); + void BuildGlare(void); + + void BuildStar(void); + + void CalculateKey(void); + + void BuildScales(void); + + void FinalRendering(void); + + void BuildGaussGlare(float* out,float rho,float strength, float vpScale); + + void BuildGaussStarH(float* out,float rho,float strength); + + void BuildGaussStarV(float* out,float rho,float strength); +}; + +#endif \ No newline at end of file Property changes on: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/includes/HDRCompositor.h ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/lib/HDRLib.lib =================================================================== (Binary files differ) Property changes on: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/lib/HDRLib.lib ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/lib/HDRLib_d.lib =================================================================== (Binary files differ) Property changes on: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/lib/HDRLib_d.lib ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/AdaptLuminance.psh =================================================================== --- trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/AdaptLuminance.psh (rev 0) +++ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/AdaptLuminance.psh 2008-06-13 00:00:28 UTC (rev 2450) @@ -0,0 +1,29 @@ +sampler s0 : register(s0);//lum +sampler s1 : register(s1);//oldlum + +static const float TauCone = 0.01; +static const float TauRod = 0.04; + +struct PS_IN +{ + float2 TexC : TEXCOORD0; +}; + +float4 PS(PS_IN i,uniform float AdaptationScale, uniform float dTime) : COLOR +{ + float Lum = tex2D(s0,float2(0.5f, 0.5f)); + float oldLum = tex2D(s1,float2(0.5f, 0.5f)); + + //determin if rods or cones are active + //Perceptual Effects in Real-time Tone Mapping: Equ(7) + float sigma = saturate(0.4/(0.04+Lum)); + + //interpolate tau from taurod and taucone depending on lum + //Perceptual Effects in Real-time Tone Mapping: Equ(12) + float Tau = lerp(TauCone,TauRod,sigma) * AdaptationScale; + + //calculate adaption + //Perceptual Effects in Real-time Tone Mapping: Equ(5) + + return oldLum + (Lum - oldLum) * (1 - exp(-(dTime)/Tau)); +} \ No newline at end of file Property changes on: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/AdaptLuminance.psh ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/AutoKey.psh =================================================================== --- trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/AutoKey.psh (rev 0) +++ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/AutoKey.psh 2008-06-13 00:00:28 UTC (rev 2450) @@ -0,0 +1,15 @@ +sampler s0 : register(s0);//lum + +struct PS_IN +{ + float2 TexC : TEXCOORD0; +}; + +float4 PS(PS_IN i) : COLOR +{ + float avgLum = tex2D(s0,float2(0.5f, 0.5f)); + + //Perceptual Effects in Real-time Tone Mapping: Equ(11) + //for hdrbeach: 1.5 instead of 2 and 0.1 is minkey + return saturate(1.5 - 1.5/(avgLum*0.1+1)) + 0.1; +} Property changes on: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/AutoKey.psh ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/BuildLocalAdaptMap.psh =================================================================== --- trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/BuildLocalAdaptMap.psh (rev 0) +++ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/BuildLocalAdaptMap.psh 2008-06-13 00:00:28 UTC (rev 2450) @@ -0,0 +1,34 @@ +sampler sKey : register(s0);//key +sampler s[7]; //4 base scales (1, 1/2, 1/4, 1/8) + +static const float3 LUMINANCE_VECTOR = float3(0.3f, 0.58f, 0.12f); + +struct PS_IN +{ + float2 TexC : TEXCOORD0; +}; + +float4 PS(PS_IN i, uniform float e, uniform float phi) : COLOR +{ + float Key = tex2D(sKey, float2(0.5f, 0.5f)); + + float4 vi = 0; + float4 vilast = tex2D(s[0], i.TexC); + + for(int j = 1; j <7; j++) + { + int scale = pow(2, (int)(j / 2)); + vi = tex2D(s[j], i.TexC); + + float s = 1 / (2 * sqrt(2)) * pow(1.6, j); + + float vs = dot(abs(vilast - vi), LUMINANCE_VECTOR) / (pow(2, phi) * Key / (s * s)); + + if(vs > e) + break; + + vilast = vi; + } + + return vilast; +} Property changes on: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/BuildLocalAdaptMap.psh ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/CopyHDR.psh =================================================================== --- trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/CopyHDR.psh (rev 0) +++ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/CopyHDR.psh 2008-06-13 00:00:28 UTC (rev 2450) @@ -0,0 +1,11 @@ +sampler s0 : register(s0);//tex0 + +struct PS_IN +{ + float2 TexC : TEXCOORD0; +}; + +float4 PS(PS_IN i) : COLOR +{ + return tex2D(s0, i.TexC); +} \ No newline at end of file Property changes on: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/CopyHDR.psh ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/Gauss_2.0.psh =================================================================== --- trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/Gauss_2.0.psh (rev 0) +++ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/Gauss_2.0.psh 2008-06-13 00:00:28 UTC (rev 2450) @@ -0,0 +1,37 @@ +sampler2D S0 : register(s0);//last frame + +/*static const float4 GaussStuff[13] = +{ + float4(-0.040000,0.000000,0.048871,0), + float4(-0.020000,-0.027027,0.076221,0), + float4(-0.020000,0.000000,0.095189,0), + float4(-0.020000,0.027027,0.076221,0), + float4(0.000000,-0.054054,0.048871,0), + float4(0.000000,-0.027027,0.095189,0), + float4(0.000000,0.000000,0.118876,0), + float4(0.000000,0.027027,0.095189,0), + float4(0.000000,0.054054,0.048871,0), + float4(0.020000,-0.027027,0.076221,0), + float4(0.020000,0.000000,0.095189,0), + float4(0.020000,0.027027,0.076221,0), + float4(0.040000,0.000000,0.048871,0) +};*/ + +struct PS_IN +{ + float2 TexC : TEXCOORD0; +}; + +float4 PS(PS_IN i,uniform float4 GaussStuff[13]) : COLOR +{ + float4 ColorSum = float4(0,0,0,0); + + //gaussian kernel with 13 samples + //basicly its a 5x5, but without pixel with distance > 2 + for (float j = 0; j < 13; j++) + { + ColorSum += GaussStuff[j].z * tex2D(S0,i.TexC - GaussStuff[j].xy); + } + + return ColorSum; +} \ No newline at end of file Property changes on: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/Gauss_2.0.psh ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/HDRFinalAdaptiveLog.psh =================================================================== --- trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/HDRFinalAdaptiveLog.psh (rev 0) +++ trunk/dotsceneformat/Source/Dependencies/trunk/main/HDRLib/media/HDRCompositor/Programs/HDRFinalAdaptiveLog.psh 2008-06-13 00:00:28 UTC (rev 2450) @@ -0,0 +1,27 @@ +sampler s0 : regis... [truncated message content] |
From: <wol...@us...> - 2008-06-11 23:18:59
|
Revision: 2449 http://ogreaddons.svn.sourceforge.net/ogreaddons/?rev=2449&view=rev Author: wolverine___ Date: 2008-06-11 16:18:48 -0700 (Wed, 11 Jun 2008) Log Message: ----------- svn:eol-style was changed to "native" on all files, which should be the default behavior of SVN line ending handling, however I have experienced problems on Windows. Property Changed: ---------------- trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/Documentation/Design concept & philosophy behind XMLNodeProcessor.txt trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPCommonParamsOfXmlNodeProcessors.cpp trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPCommonParamsOfXmlNodeProcessors.h trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPDemo.cpp trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPPrerequisites.h trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessor.cpp trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessor.h trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessorTreeBuilder.h trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XmlNodeProcessor.vcproj trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XmlNodeProcessor.vcproj.WOLVERINE_.Wolverine_.user trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/test.scene trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/test.xml trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/testBad.xml trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/testSerialized.xml trunk/dotsceneformat/Source/Dependencies/trunk/main/Tinyxml/Tinyxml.vcproj trunk/dotsceneformat/Source/Dependencies/trunk/main/Tinyxml/Tinyxml.vcproj.WOLVERINE_.Wolverine_.user trunk/dotsceneformat/Source/Dependencies/trunk/main/Tinyxml/includes/tinystr.h trunk/dotsceneformat/Source/Dependencies/trunk/main/Tinyxml/includes/tinyxml.h trunk/dotsceneformat/Source/Dependencies/trunk/main/Tinyxml/src/tinyxml.cpp trunk/dotsceneformat/Source/Dependencies/trunk/main/Tinyxml/src/tinyxmlerror.cpp trunk/dotsceneformat/Source/Dependencies/trunk/main/Tinyxml/src/tinyxmlparser.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/Documentation/Changelog.txt trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/Documentation/CurrentlyIgnored.dtd trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/Documentation/License.txt trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/Documentation/Readme.txt trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/Documentation/Roadmap.txt trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/Documentation/dotScene.dtd trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneInfo.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneInterface.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneNodeProcessorTreeBuilder.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotScenePlatformUtils.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotScenePrerequisites.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneProcessor.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneProcessorImpl.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneProcessorImpl_v1_0_0.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneResource.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneResourceManager.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneStableHeaders.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneUtils.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneXmlNodeProcessors.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/resource.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneInfo.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneInterface.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneNodeProcessorTreeBuilder.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotScenePlatformUtils.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneProcessor.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneProcessorImpl_v1_0_0.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneResource.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneResourceManager.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneStableHeaders.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneUtils.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneXmlNodeProcessors.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/dotSceneInterface.rc trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/dotSceneInterface_VC8.sln trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/dotSceneInterface_VC8.vcproj trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/dotSceneInterface_VC8.vcproj.WOLVERINE_.Wolverine_.user trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/DotSceneOctreeSceneManager.vcproj trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/DotSceneOctreeSceneManager.vcproj.WOLVERINE_.Wolverine_.user trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Include/dsosmDotSceneOctreeSceneManager.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Include/dsosmPrerequisites.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Include/dsosmSceneMain.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Include/dsosmSceneOctree.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Include/dsosmSceneOctreeRenderable.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Source/dsosmDotSceneOctreeSceneManager.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Source/dsosmDotSceneOctreeSceneManagerDLL.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Source/dsosmSceneMain.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Source/dsosmSceneOctree.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Source/dsosmSceneOctreeRenderable.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneToDotSceneOctreeConverter/DotSceneToDotSceneOctreeConverter.vcproj trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneToDotSceneOctreeConverter/DotSceneToDotSceneOctreeConverter.vcproj.WOLVERINE_.Wolverine_.user trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneToDotSceneOctreeConverter/Include/ds2dsocSceneConverter.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneToDotSceneOctreeConverter/Include/ds2dsocSceneConverterOctree.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneToDotSceneOctreeConverter/Include/ds2dsocSceneConverterOctreeObjects.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneToDotSceneOctreeConverter/Source/ds2dsocMain.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneToDotSceneOctreeConverter/Source/ds2dsocSceneConverter.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneToDotSceneOctreeConverter/Source/ds2dsocSceneConverterOctree.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneToDotSceneOctreeConverter/Source/ds2dsocSceneConverterOctreeObjects.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/DotSceneViewer_VC80.vcproj trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/DotSceneViewer_VC80.vcproj.WOLVERINE_.Wolverine_.user trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/ExampleApplication.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/ExampleFrameListener.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/dotSceneViewerApplication.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/dotSceneViewerFrameListener.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/dotSceneViewerMovableText.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/dotSceneViewerPch.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/dotSceneViewerPlatformUtils.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/dotSceneViewerResource.h trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Source/dotSceneViewerApplication.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Source/dotSceneViewerFrameListener.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Source/dotSceneViewerMain.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Source/dotSceneViewerMovableText.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Source/dotSceneViewerPch.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Source/dotSceneViewerPlatformUtils.cpp trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/dotSceneViewer.rc trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/dotSceneFormat_VC80.sln trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/FacialAnim.xml trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/Fish&Barrel.xml trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/MyScene.scene trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/Robot.xml trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/dotSceneViewer/dotSceneViewer.fontdef trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/dotSceneViewer/dotSceneViewer.material trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/dotSceneViewer/dotSceneViewer.overlay trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/dotSceneViewer_fish&barrel.xml.bat trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/dotSceneViewer_robot.xml.bat trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/dotSceneViewer_scyther.xml.bat trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/resources.cfg trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/media/materials/programs/Example_Basic.cg trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/media/materials/scripts/TestLevel.material trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/media/particle/TestLevel.particle Property changes on: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/Documentation/Design concept & philosophy behind XMLNodeProcessor.txt ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPCommonParamsOfXmlNodeProcessors.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPCommonParamsOfXmlNodeProcessors.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPDemo.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPPrerequisites.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessor.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessor.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XNPXmlNodeProcessorTreeBuilder.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XmlNodeProcessor.vcproj ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/XmlNodeProcessor.vcproj.WOLVERINE_.Wolverine_.user ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/test.scene ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/test.xml ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/testBad.xml ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Common/trunk/main/XmlNodeProcessor/testSerialized.xml ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Dependencies/trunk/main/Tinyxml/Tinyxml.vcproj ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Dependencies/trunk/main/Tinyxml/Tinyxml.vcproj.WOLVERINE_.Wolverine_.user ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Dependencies/trunk/main/Tinyxml/includes/tinystr.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Dependencies/trunk/main/Tinyxml/includes/tinyxml.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Dependencies/trunk/main/Tinyxml/src/tinyxml.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Dependencies/trunk/main/Tinyxml/src/tinyxmlerror.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Dependencies/trunk/main/Tinyxml/src/tinyxmlparser.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/Documentation/Changelog.txt ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/Documentation/CurrentlyIgnored.dtd ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/Documentation/License.txt ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/Documentation/Readme.txt ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/Documentation/Roadmap.txt ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/Documentation/dotScene.dtd ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneInfo.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneInterface.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneNodeProcessorTreeBuilder.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotScenePlatformUtils.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotScenePrerequisites.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneProcessor.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneProcessorImpl.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneProcessorImpl_v1_0_0.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneResource.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneResourceManager.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneStableHeaders.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneUtils.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/dotSceneXmlNodeProcessors.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Include/resource.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneInfo.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneInterface.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneNodeProcessorTreeBuilder.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotScenePlatformUtils.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneProcessor.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneProcessorImpl_v1_0_0.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneResource.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneResourceManager.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneStableHeaders.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneUtils.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/Source/dotSceneXmlNodeProcessors.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/dotSceneInterface.rc ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/dotSceneInterface_VC8.sln ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/dotSceneInterface_VC8.vcproj ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneInterface/dotSceneInterface_VC8.vcproj.WOLVERINE_.Wolverine_.user ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/DotSceneOctreeSceneManager.vcproj ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/DotSceneOctreeSceneManager.vcproj.WOLVERINE_.Wolverine_.user ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Include/dsosmDotSceneOctreeSceneManager.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Include/dsosmPrerequisites.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Include/dsosmSceneMain.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Include/dsosmSceneOctree.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Include/dsosmSceneOctreeRenderable.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Source/dsosmDotSceneOctreeSceneManager.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Source/dsosmDotSceneOctreeSceneManagerDLL.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Source/dsosmSceneMain.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Source/dsosmSceneOctree.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneOctreeSceneManager/Source/dsosmSceneOctreeRenderable.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneToDotSceneOctreeConverter/DotSceneToDotSceneOctreeConverter.vcproj ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneToDotSceneOctreeConverter/DotSceneToDotSceneOctreeConverter.vcproj.WOLVERINE_.Wolverine_.user ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneToDotSceneOctreeConverter/Include/ds2dsocSceneConverter.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneToDotSceneOctreeConverter/Include/ds2dsocSceneConverterOctree.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneToDotSceneOctreeConverter/Include/ds2dsocSceneConverterOctreeObjects.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneToDotSceneOctreeConverter/Source/ds2dsocMain.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneToDotSceneOctreeConverter/Source/ds2dsocSceneConverter.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneToDotSceneOctreeConverter/Source/ds2dsocSceneConverterOctree.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneToDotSceneOctreeConverter/Source/ds2dsocSceneConverterOctreeObjects.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/DotSceneViewer_VC80.vcproj ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/DotSceneViewer_VC80.vcproj.WOLVERINE_.Wolverine_.user ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/ExampleApplication.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/ExampleFrameListener.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/dotSceneViewerApplication.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/dotSceneViewerFrameListener.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/dotSceneViewerMovableText.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/dotSceneViewerPch.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/dotSceneViewerPlatformUtils.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Include/dotSceneViewerResource.h ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Source/dotSceneViewerApplication.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Source/dotSceneViewerFrameListener.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Source/dotSceneViewerMain.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Source/dotSceneViewerMovableText.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Source/dotSceneViewerPch.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/Source/dotSceneViewerPlatformUtils.cpp ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/DotSceneViewer/dotSceneViewer.rc ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/dotSceneFormat_VC80.sln ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/FacialAnim.xml ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/Fish&Barrel.xml ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/MyScene.scene ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/Robot.xml ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/dotSceneViewer/dotSceneViewer.fontdef ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/dotSceneViewer/dotSceneViewer.material ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/dotSceneViewer/dotSceneViewer.overlay ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/dotSceneViewer_fish&barrel.xml.bat ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/dotSceneViewer_robot.xml.bat ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/dotSceneViewer_scyther.xml.bat ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/bin/release/resources.cfg ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/media/materials/programs/Example_Basic.cg ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/media/materials/scripts/TestLevel.material ___________________________________________________________________ Name: svn:eol-style + native Property changes on: trunk/dotsceneformat/Source/Graphics Engine/trunk/main/SceneFormats/DotSceneFormat/media/OGRE_SDK/media/particle/TestLevel.particle ___________________________________________________________________ Name: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-05-28 12:41:39
|
Revision: 2443 http://ogreaddons.svn.sourceforge.net/ogreaddons/?rev=2443&view=rev Author: kuranes Date: 2008-05-28 05:41:46 -0700 (Wed, 28 May 2008) Log Message: ----------- - fix typo ending in wrong bug in geometry removing Modified Paths: -------------- trunk/ogreode/src/OgreOdeBody.cpp Modified: trunk/ogreode/src/OgreOdeBody.cpp =================================================================== --- trunk/ogreode/src/OgreOdeBody.cpp 2008-05-21 09:33:33 UTC (rev 2442) +++ trunk/ogreode/src/OgreOdeBody.cpp 2008-05-28 12:41:46 UTC (rev 2443) @@ -575,12 +575,11 @@ //----------------------------------------------------------------------- void Body::removeGeometry(Geometry *g) { - ; for (GeometryArray::iterator it = _geometries.begin (); it != _geometries.end (); ++it) { - if (*it = g) + if (*it == g) { _geometries.erase (it); return; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <si...@us...> - 2008-05-21 09:33:46
|
Revision: 2442 http://ogreaddons.svn.sourceforge.net/ogreaddons/?rev=2442&view=rev Author: sinbad Date: 2008-05-21 02:33:33 -0700 (Wed, 21 May 2008) Log Message: ----------- Fix up relative path to match new Subversion folder structure Modified Paths: -------------- trunk/meshmagick/MeshMagick.vcproj Modified: trunk/meshmagick/MeshMagick.vcproj =================================================================== --- trunk/meshmagick/MeshMagick.vcproj 2008-05-17 22:22:27 UTC (rev 2441) +++ trunk/meshmagick/MeshMagick.vcproj 2008-05-21 09:33:33 UTC (rev 2442) @@ -1,533 +1,533 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="8.00" - Name="MeshMagick" - ProjectGUID="{BBDFCAFA-96E2-420D-83D7-E9D7A0BE9C27}" - RootNamespace="MeshMagick" - Keyword="Win32Proj" - > - <Platforms> - <Platform - Name="Win32" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory="bin\$(ConfigurationName)" - IntermediateDirectory="obj\$(ConfigurationName)" - ConfigurationType="1" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories=".\include;..\..\ogrenew\OgreMain\include" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;OGRE_STATIC_LIB;MESHMAGICK_STANDALONE" - MinimalRebuild="true" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - UsePrecompiledHeader="0" - WarningLevel="3" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="4" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="OgreMainStatic_d.lib" - LinkIncremental="2" - AdditionalLibraryDirectories="..\..\ogrenew\lib" - GenerateDebugInformation="true" - SubSystem="1" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory="bin\$(ConfigurationName)" - IntermediateDirectory="obj\$(ConfigurationName)" - ConfigurationType="1" - CharacterSet="1" - WholeProgramOptimization="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories=".\include;..\..\ogrenew\OgreMain\include" - PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;OGRE_STATIC_LIB;MESHMAGICK_STANDALONE" - RuntimeLibrary="2" - UsePrecompiledHeader="0" - WarningLevel="3" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="0" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="OgreMainStatic.lib" - LinkIncremental="1" - AdditionalLibraryDirectories="..\..\ogrenew\lib" - GenerateDebugInformation="false" - SubSystem="1" - OptimizeReferences="2" - EnableCOMDATFolding="2" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Debug_DLL|Win32" - OutputDirectory="lib" - IntermediateDirectory="obj\$(ConfigurationName)" - ConfigurationType="2" - CharacterSet="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories=".\include;..\..\ogrenew\OgreMain\include" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;MESHMAGICK_EXPORTS" - MinimalRebuild="true" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - UsePrecompiledHeader="0" - WarningLevel="3" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="4" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="OgreMain_d.lib" - OutputFile="lib\meshmagick_d.dll" - LinkIncremental="2" - AdditionalLibraryDirectories="..\..\ogrenew\lib" - GenerateDebugInformation="true" - SubSystem="1" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release_DLL|Win32" - OutputDirectory="lib" - IntermediateDirectory="obj\$(ConfigurationName)" - ConfigurationType="2" - CharacterSet="1" - WholeProgramOptimization="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories=".\include;..\..\ogrenew\OgreMain\include" - PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;MESHMAGICK_EXPORTS" - RuntimeLibrary="2" - UsePrecompiledHeader="0" - WarningLevel="3" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="0" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="OgreMain.lib" - OutputFile="lib\meshmagick.dll" - LinkIncremental="1" - AdditionalLibraryDirectories="..\..\ogrenew\lib" - GenerateDebugInformation="false" - SubSystem="1" - OptimizeReferences="2" - EnableCOMDATFolding="2" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" - UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" - > - <File - RelativePath=".\src\EditableBone.cpp" - > - </File> - <File - RelativePath=".\src\EditableMesh.cpp" - > - </File> - <File - RelativePath=".\src\EditableSkeleton.cpp" - > - </File> - <File - RelativePath=".\src\InfoTool.cpp" - > - </File> - <File - RelativePath=".\src\InfoToolFactory.cpp" - > - </File> - <File - RelativePath=".\src\main.cpp" - > - </File> - <File - RelativePath=".\src\MeshMergeTool.cpp" - > - </File> - <File - RelativePath=".\src\MeshMergeToolFactory.cpp" - > - </File> - <File - RelativePath=".\src\MeshUtils.cpp" - > - </File> - <File - RelativePath=".\src\OgreEnvironment.cpp" - > - </File> - <File - RelativePath=".\src\OptimiseTool.cpp" - > - </File> - <File - RelativePath=".\src\OptimiseToolFactory.cpp" - > - </File> - <File - RelativePath=".\src\OptionsParser.cpp" - > - </File> - <File - RelativePath=".\src\RenameTool.cpp" - > - </File> - <File - RelativePath=".\src\RenameToolFactory.cpp" - > - </File> - <File - RelativePath=".\src\StatefulMeshSerializer.cpp" - > - </File> - <File - RelativePath=".\src\StatefulSkeletonSerializer.cpp" - > - </File> - <File - RelativePath=".\src\Tool.cpp" - > - </File> - <File - RelativePath=".\src\ToolManager.cpp" - > - </File> - <File - RelativePath=".\src\ToolsUtils.cpp" - > - </File> - <File - RelativePath=".\src\TransformTool.cpp" - > - </File> - <File - RelativePath=".\src\TransformToolFactory.cpp" - > - </File> - </Filter> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hm;inl;inc;xsd" - UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" - > - <File - RelativePath=".\include\EditableBone.h" - > - </File> - <File - RelativePath=".\include\EditableSkeleton.h" - > - </File> - <File - RelativePath=".\include\InfoTool.h" - > - </File> - <File - RelativePath=".\include\InfoToolFactory.h" - > - </File> - <File - RelativePath=".\include\MeshMagickPrerequisites.h" - > - </File> - <File - RelativePath=".\include\MeshMergeTool.h" - > - </File> - <File - RelativePath=".\include\MeshMergeToolFactory.h" - > - </File> - <File - RelativePath=".\include\MeshUtils.h" - > - </File> - <File - RelativePath=".\include\OgreEnvironment.h" - > - </File> - <File - RelativePath=".\include\OptimiseTool.h" - > - </File> - <File - RelativePath=".\include\OptimiseToolFactory.h" - > - </File> - <File - RelativePath=".\include\OptionsParser.h" - > - </File> - <File - RelativePath=".\include\RenameTool.h" - > - </File> - <File - RelativePath=".\include\RenameToolFactory.h" - > - </File> - <File - RelativePath=".\include\StatefulMeshSerializer.h" - > - </File> - <File - RelativePath=".\include\StatefulSkeletonSerializer.h" - > - </File> - <File - RelativePath=".\include\Tool.h" - > - </File> - <File - RelativePath=".\include\ToolFactory.h" - > - </File> - <File - RelativePath=".\include\ToolManager.h" - > - </File> - <File - RelativePath=".\include\ToolUtils.h" - > - </File> - <File - RelativePath=".\include\TransformTool.h" - > - </File> - <File - RelativePath=".\include\TransformToolFactory.h" - > - </File> - </Filter> - <Filter - Name="Resource Files" - Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" - UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" - > - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8.00" + Name="MeshMagick" + ProjectGUID="{BBDFCAFA-96E2-420D-83D7-E9D7A0BE9C27}" + RootNamespace="MeshMagick" + Keyword="Win32Proj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="bin\$(ConfigurationName)" + IntermediateDirectory="obj\$(ConfigurationName)" + ConfigurationType="1" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories=".\include;..\..\ogre\OgreMain\include" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;OGRE_STATIC_LIB;MESHMAGICK_STANDALONE" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="OgreMainStatic_d.lib" + LinkIncremental="2" + AdditionalLibraryDirectories="..\..\ogre\lib" + GenerateDebugInformation="true" + SubSystem="1" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="bin\$(ConfigurationName)" + IntermediateDirectory="obj\$(ConfigurationName)" + ConfigurationType="1" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".\include;..\..\ogre\OgreMain\include" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;OGRE_STATIC_LIB;MESHMAGICK_STANDALONE" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="0" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="OgreMainStatic.lib" + LinkIncremental="1" + AdditionalLibraryDirectories="..\..\ogre\lib" + GenerateDebugInformation="false" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Debug_DLL|Win32" + OutputDirectory="lib" + IntermediateDirectory="obj\$(ConfigurationName)" + ConfigurationType="2" + CharacterSet="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories=".\include;..\..\ogre\OgreMain\include" + PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;MESHMAGICK_EXPORTS" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="4" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="OgreMain_d.lib" + OutputFile="lib\meshmagick_d.dll" + LinkIncremental="2" + AdditionalLibraryDirectories="..\..\ogre\lib" + GenerateDebugInformation="true" + SubSystem="1" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + <Configuration + Name="Release_DLL|Win32" + OutputDirectory="lib" + IntermediateDirectory="obj\$(ConfigurationName)" + ConfigurationType="2" + CharacterSet="1" + WholeProgramOptimization="1" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories=".\include;..\..\ogre\OgreMain\include" + PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;MESHMAGICK_EXPORTS" + RuntimeLibrary="2" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="0" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="OgreMain.lib" + OutputFile="lib\meshmagick.dll" + LinkIncremental="1" + AdditionalLibraryDirectories="..\..\ogre\lib" + GenerateDebugInformation="false" + SubSystem="1" + OptimizeReferences="2" + EnableCOMDATFolding="2" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath=".\src\EditableBone.cpp" + > + </File> + <File + RelativePath=".\src\EditableMesh.cpp" + > + </File> + <File + RelativePath=".\src\EditableSkeleton.cpp" + > + </File> + <File + RelativePath=".\src\InfoTool.cpp" + > + </File> + <File + RelativePath=".\src\InfoToolFactory.cpp" + > + </File> + <File + RelativePath=".\src\main.cpp" + > + </File> + <File + RelativePath=".\src\MeshMergeTool.cpp" + > + </File> + <File + RelativePath=".\src\MeshMergeToolFactory.cpp" + > + </File> + <File + RelativePath=".\src\MeshUtils.cpp" + > + </File> + <File + RelativePath=".\src\OgreEnvironment.cpp" + > + </File> + <File + RelativePath=".\src\OptimiseTool.cpp" + > + </File> + <File + RelativePath=".\src\OptimiseToolFactory.cpp" + > + </File> + <File + RelativePath=".\src\OptionsParser.cpp" + > + </File> + <File + RelativePath=".\src\RenameTool.cpp" + > + </File> + <File + RelativePath=".\src\RenameToolFactory.cpp" + > + </File> + <File + RelativePath=".\src\StatefulMeshSerializer.cpp" + > + </File> + <File + RelativePath=".\src\StatefulSkeletonSerializer.cpp" + > + </File> + <File + RelativePath=".\src\Tool.cpp" + > + </File> + <File + RelativePath=".\src\ToolManager.cpp" + > + </File> + <File + RelativePath=".\src\ToolsUtils.cpp" + > + </File> + <File + RelativePath=".\src\TransformTool.cpp" + > + </File> + <File + RelativePath=".\src\TransformToolFactory.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath=".\include\EditableBone.h" + > + </File> + <File + RelativePath=".\include\EditableSkeleton.h" + > + </File> + <File + RelativePath=".\include\InfoTool.h" + > + </File> + <File + RelativePath=".\include\InfoToolFactory.h" + > + </File> + <File + RelativePath=".\include\MeshMagickPrerequisites.h" + > + </File> + <File + RelativePath=".\include\MeshMergeTool.h" + > + </File> + <File + RelativePath=".\include\MeshMergeToolFactory.h" + > + </File> + <File + RelativePath=".\include\MeshUtils.h" + > + </File> + <File + RelativePath=".\include\OgreEnvironment.h" + > + </File> + <File + RelativePath=".\include\OptimiseTool.h" + > + </File> + <File + RelativePath=".\include\OptimiseToolFactory.h" + > + </File> + <File + RelativePath=".\include\OptionsParser.h" + > + </File> + <File + RelativePath=".\include\RenameTool.h" + > + </File> + <File + RelativePath=".\include\RenameToolFactory.h" + > + </File> + <File + RelativePath=".\include\StatefulMeshSerializer.h" + > + </File> + <File + RelativePath=".\include\StatefulSkeletonSerializer.h" + > + </File> + <File + RelativePath=".\include\Tool.h" + > + </File> + <File + RelativePath=".\include\ToolFactory.h" + > + </File> + <File + RelativePath=".\include\ToolManager.h" + > + </File> + <File + RelativePath=".\include\ToolUtils.h" + > + </File> + <File + RelativePath=".\include\TransformTool.h" + > + </File> + <File + RelativePath=".\include\TransformToolFactory.h" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2008-05-13 15:43:52
|
Revision: 2440 http://ogreaddons.svn.sourceforge.net/ogreaddons/?rev=2440&view=rev Author: kuranes Date: 2008-05-13 08:14:37 -0700 (Tue, 13 May 2008) Log Message: ----------- - linux patch - ragdoll ongoing work - terrain demo file Modified Paths: -------------- trunk/ogrebullet/Collisions/include/Shapes/OgreBulletCollisionsGImpactShape.h trunk/ogrebullet/Collisions/include/Utils/OgreBulletCollisionsMeshToShapeConverter.h trunk/ogrebullet/Demos/Dynamics_Demos/scripts/VC8/Ogre_Bullet_Dynamics_Demos_SDK.vcproj trunk/ogrebullet/Demos/src/OgreBulletListener.cpp trunk/ogrebullet/Dynamics/include/OgreBulletDynamics.h trunk/ogrebullet/Dynamics/include/OgreBulletDynamicsPreRequisites.h trunk/ogrebullet/Dynamics/scripts/VC8/OgreBulletDynamics_SDK.vcproj trunk/ogrebullet/OgreBullet_SDK.suo Added Paths: ----------- trunk/ogrebullet/Collisions/Makefile.am trunk/ogrebullet/Collisions/include/Debug/Makefile.am trunk/ogrebullet/Collisions/include/Makefile.am trunk/ogrebullet/Collisions/include/Shapes/Makefile.am trunk/ogrebullet/Collisions/include/Utils/Makefile.am trunk/ogrebullet/Collisions/src/Makefile.am trunk/ogrebullet/Demos/Dynamics_Demos/include/Ragdoll_Demo.h trunk/ogrebullet/Demos/Dynamics_Demos/include/Terrain_Demo.h trunk/ogrebullet/Demos/Dynamics_Demos/src/Ragdoll_Demo.cpp trunk/ogrebullet/Demos/Dynamics_Demos/src/Terrain_Demo.cpp trunk/ogrebullet/Dynamics/Makefile.am trunk/ogrebullet/Dynamics/include/Constraints/Makefile.am trunk/ogrebullet/Dynamics/include/Makefile.am trunk/ogrebullet/Dynamics/include/Prefab/ trunk/ogrebullet/Dynamics/include/Prefab/Makefile.am trunk/ogrebullet/Dynamics/include/Prefab/OgreBulletDynamicsRagDoll.h trunk/ogrebullet/Dynamics/src/Makefile.am trunk/ogrebullet/Dynamics/src/Prefab/ trunk/ogrebullet/Dynamics/src/Prefab/OgreBulletDynamicsRagDoll.cpp trunk/ogrebullet/Makefile.am trunk/ogrebullet/OgreBullet.pc.in trunk/ogrebullet/autogen.sh trunk/ogrebullet/configure.ac Added: trunk/ogrebullet/Collisions/Makefile.am =================================================================== --- trunk/ogrebullet/Collisions/Makefile.am (rev 0) +++ trunk/ogrebullet/Collisions/Makefile.am 2008-05-13 15:14:37 UTC (rev 2440) @@ -0,0 +1,2 @@ +SUBDIRS = include src + Added: trunk/ogrebullet/Collisions/include/Debug/Makefile.am =================================================================== --- trunk/ogrebullet/Collisions/include/Debug/Makefile.am (rev 0) +++ trunk/ogrebullet/Collisions/include/Debug/Makefile.am 2008-05-13 15:14:37 UTC (rev 2440) @@ -0,0 +1,8 @@ +ogrebulletcoldebugincludedir = $(includedir)/OgreBullet/Collisions/Debug + +ogrebulletcoldebuginclude_HEADERS = \ + OgreBulletCollisionsDebugContact.h \ + OgreBulletCollisionsDebugDrawer.h \ + OgreBulletCollisionsDebugLines.h \ + OgreBulletCollisionsDebugShape.h + Added: trunk/ogrebullet/Collisions/include/Makefile.am =================================================================== --- trunk/ogrebullet/Collisions/include/Makefile.am (rev 0) +++ trunk/ogrebullet/Collisions/include/Makefile.am 2008-05-13 15:14:37 UTC (rev 2440) @@ -0,0 +1,13 @@ +ogrebulletcolincludedir = $(includedir)/OgreBullet/Collisions + +SUBDIRS = Debug Shapes Utils + +ogrebulletcolinclude_HEADERS = \ + OgreBulletCollisions.h \ + OgreBulletCollisionsObject.h \ + OgreBulletCollisionsObjectState.h \ + OgreBulletCollisionsPreRequisites.h \ + OgreBulletCollisionsRay.h \ + OgreBulletCollisionsShape.h \ + OgreBulletCollisionsWorld.h + Added: trunk/ogrebullet/Collisions/include/Shapes/Makefile.am =================================================================== --- trunk/ogrebullet/Collisions/include/Shapes/Makefile.am (rev 0) +++ trunk/ogrebullet/Collisions/include/Shapes/Makefile.am 2008-05-13 15:14:37 UTC (rev 2440) @@ -0,0 +1,18 @@ +ogrebulletcolshapesincludedir = $(includedir)/OgreBullet/Collisions/Shapes + +ogrebulletcolshapesinclude_HEADERS = \ + OgreBulletCollisionsBoxShape.h \ + OgreBulletCollisionsCapsuleShape.h \ + OgreBulletCollisionsCompoundShape.h \ + OgreBulletCollisionsConeShape.h \ + OgreBulletCollisionsConvexHullShape.h \ + OgreBulletCollisionsCylinderShape.h \ + OgreBulletCollisionsGImpactShape.h \ + OgreBulletCollisionsMinkowskiSumShape.h \ + OgreBulletCollisionsMultiSphereShape.h \ + OgreBulletCollisionsSphereShape.h \ + OgreBulletCollisionsStaticPlaneShape.h \ + OgreBulletCollisionsTerrainShape.h \ + OgreBulletCollisionsTriangleShape.h \ + OgreBulletCollisionsTrimeshShape.h + Modified: trunk/ogrebullet/Collisions/include/Shapes/OgreBulletCollisionsGImpactShape.h =================================================================== --- trunk/ogrebullet/Collisions/include/Shapes/OgreBulletCollisionsGImpactShape.h 2008-05-13 14:47:20 UTC (rev 2439) +++ trunk/ogrebullet/Collisions/include/Shapes/OgreBulletCollisionsGImpactShape.h 2008-05-13 15:14:37 UTC (rev 2440) @@ -35,7 +35,11 @@ namespace OgreBulletCollisions { +#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 class __declspec( dllexport ) GImpactConcaveShape : public CollisionShape +#else + class GImpactConcaveShape : public CollisionShape +#endif { public: GImpactConcaveShape(Ogre::Vector3 *_vertices, unsigned int _vertex_count, unsigned int *_indices, unsigned int_index_count); Added: trunk/ogrebullet/Collisions/include/Utils/Makefile.am =================================================================== --- trunk/ogrebullet/Collisions/include/Utils/Makefile.am (rev 0) +++ trunk/ogrebullet/Collisions/include/Utils/Makefile.am 2008-05-13 15:14:37 UTC (rev 2440) @@ -0,0 +1,6 @@ +ogrebulletcolutilsincludedir = $(includedir)/OgreBullet/Collisions/Utils + +ogrebulletcolutilsinclude_HEADERS = \ + OgreBulletCollisionsMeshToShapeConverter.h \ + OgreBulletConverter.h + Modified: trunk/ogrebullet/Collisions/include/Utils/OgreBulletCollisionsMeshToShapeConverter.h =================================================================== --- trunk/ogrebullet/Collisions/include/Utils/OgreBulletCollisionsMeshToShapeConverter.h 2008-05-13 14:47:20 UTC (rev 2439) +++ trunk/ogrebullet/Collisions/include/Utils/OgreBulletCollisionsMeshToShapeConverter.h 2008-05-13 15:14:37 UTC (rev 2440) @@ -111,15 +111,15 @@ void addEntity(Ogre::Entity *entity,const Ogre::Matrix4 &transform = Ogre::Matrix4::IDENTITY); void addMesh(const Ogre::MeshPtr &mesh, const Ogre::Matrix4 &transform); - BoxCollisionShape* AnimatedMeshToShapeConverter::createAlignedBox(unsigned char bone, + BoxCollisionShape* createAlignedBox(unsigned char bone, const Ogre::Vector3 &bonePosition, const Ogre::Quaternion &boneOrientation); - BoxCollisionShape* AnimatedMeshToShapeConverter::createOrientedBox(unsigned char bone, + BoxCollisionShape* createOrientedBox(unsigned char bone, const Ogre::Vector3 &bonePosition, const Ogre::Quaternion &boneOrientation); - CapsuleCollisionShape* AnimatedMeshToShapeConverter::createOrientedCapsuleCollisionShape(unsigned char bone, + CapsuleCollisionShape* createOrientedCapsuleCollisionShape(unsigned char bone, const Ogre::Vector3 &bonePosition, const Ogre::Quaternion &boneOrientation); Added: trunk/ogrebullet/Collisions/src/Makefile.am =================================================================== --- trunk/ogrebullet/Collisions/src/Makefile.am (rev 0) +++ trunk/ogrebullet/Collisions/src/Makefile.am 2008-05-13 15:14:37 UTC (rev 2440) @@ -0,0 +1,37 @@ +INCLUDES = \ + ${OGRE_CFLAGS} \ + ${bullet_CFLAGS} \ + -I../include + +lib_LTLIBRARIES = libOgreBulletCol.la + +libOgreBulletCol_la_SOURCES = \ + OgreBulletCollisionsObject.cpp \ + OgreBulletCollisionsObjectState.cpp \ + OgreBulletCollisionsPrecompiled.cpp \ + OgreBulletCollisionsRay.cpp \ + OgreBulletCollisionsShape.cpp \ + OgreBulletCollisionsWorld.cpp \ + Debug/OgreBulletCollisionsDebugContact.cpp \ + Debug/OgreBulletCollisionsDebugDrawer.cpp \ + Debug/OgreBulletCollisionsDebugLines.cpp \ + Debug/OgreBulletCollisionsDebugShape.cpp \ + Shapes/OgreBulletCollisionsBoxShape.cpp \ + Shapes/OgreBulletCollisionsCapsuleShape.cpp \ + Shapes/OgreBulletCollisionsCompoundShape.cpp \ + Shapes/OgreBulletCollisionsConeShape.cpp \ + Shapes/OgreBulletCollisionsConvexHullShape.cpp \ + Shapes/OgreBulletCollisionsCylinderShape.cpp \ + Shapes/OgreBulletCollisionsGImpactShape.cpp \ + Shapes/OgreBulletCollisionsMinkowskiSumShape.cpp \ + Shapes/OgreBulletCollisionsMultiSphereShape.cpp \ + Shapes/OgreBulletCollisionsSphereShape.cpp \ + Shapes/OgreBulletCollisionsStaticPlaneShape.cpp \ + Shapes/OgreBulletCollisionsTriangleShape.cpp \ + Shapes/OgreBulletCollisionsTrimeshShape.cpp \ + Utils/OgreBulletCollisionsMeshToShapeConverter.cpp + +libOgreBulletCol_la_LIBADD = \ + $(OGRE_LIBS) \ + $(bullet_LIBS) + Added: trunk/ogrebullet/Demos/Dynamics_Demos/include/Ragdoll_Demo.h =================================================================== --- trunk/ogrebullet/Demos/Dynamics_Demos/include/Ragdoll_Demo.h (rev 0) +++ trunk/ogrebullet/Demos/Dynamics_Demos/include/Ragdoll_Demo.h 2008-05-13 15:14:37 UTC (rev 2440) @@ -0,0 +1,45 @@ +/*************************************************************************** + +This source file is part of OGREBULLET +(Object-oriented Graphics Rendering Engine Bullet Wrapper) +For the latest info, see http://www.ogre3d.org/phpBB2addons/viewforum.php?f=10 + +Copyright (c) 2007 tua...@gm... (Use it Freely, even Statically, but have to contribute any changes) + + + +This source file is not LGPL, it's public source code that you can reuse. +-----------------------------------------------------------------------------*/ +#ifndef _OGREBULLET_Ragdoll_Demo__H +#define _OGREBULLET_Ragdoll_Demo__H + +#include "OgreBulletDynamics.h" +#include "OgreBulletListener.h" + +// ------------------------------------------------------------------------- +class Ragdoll_Demo : public OgreBulletListener +{ +public: + + Ragdoll_Demo() : OgreBulletListener() + { + mName = "Ragdoll Demo"; + }; + virtual ~Ragdoll_Demo(){}; + + void init(Ogre::Root *root, Ogre::RenderWindow *win, OgreBulletApplication *application); + + void keyPressed(BULLET_KEY_CODE key); + + void shootToKill(); + + void button0Pressed(); + + bool frameStarted(Ogre::Real elapsedTime); + bool frameEnded(Ogre::Real elapsedTime); + + }; + + +#endif //_OGREBULLET_Constraints_Demo__H + Added: trunk/ogrebullet/Demos/Dynamics_Demos/include/Terrain_Demo.h =================================================================== --- trunk/ogrebullet/Demos/Dynamics_Demos/include/Terrain_Demo.h (rev 0) +++ trunk/ogrebullet/Demos/Dynamics_Demos/include/Terrain_Demo.h 2008-05-13 15:14:37 UTC (rev 2440) @@ -0,0 +1,72 @@ +/*************************************************************************** + +This source file is part of OGREBULLET +(Object-oriented Graphics Rendering Engine Bullet Wrapper) +For the latest info, see http://www.ogre3d.org/phpBB2addons/viewforum.php?f=10 + +Copyright (c) 2007 tua...@gm... (Use it Freely, even Statically, but have to contribute any changes) + + + +This source file is not LGPL, it's public source code that you can reuse. +-----------------------------------------------------------------------------*/ +#ifndef _OGREBULLET_Terrain_Demo__H +#define _OGREBULLET_Terrain_Demo__H + +#include "OgreBulletDynamics.h" +#include "OgreBulletListener.h" + +// ------------------------------------------------------------------------- +class Terrain_Demo : public OgreBulletListener +{ +public: + +Terrain_Demo() : OgreBulletListener() + { + mName = "Terrain Test Scene"; + }; + virtual ~Terrain_Demo(){}; + + + void init(Ogre::Root *root, Ogre::RenderWindow *win, OgreBulletApplication *application); + + void keyPressed(BULLET_KEY_CODE key); + void keyReleased(BULLET_KEY_CODE key); + + bool frameStarted(Ogre::Real elapsedTime); + +private: + + + + OgreBulletCollisions::HeightmapCollisionShape *mTerrainShape; + + + OgreBulletDynamics::WheeledRigidBody *mCarChassis; + OgreBulletDynamics::VehicleTuning *mTuning; + OgreBulletDynamics::VehicleRayCaster *mVehicleRayCaster; + OgreBulletDynamics::RaycastVehicle *mVehicle; + + Ogre::Entity *mChassis; + Ogre::Entity *mWheels[4]; + Ogre::SceneNode *mWheelNodes[4]; + + + int mWheelsEngine[4]; + int mWheelsEngineCount; + int mWheelsSteerable[4]; + int mWheelsSteerableCount; + + float mEngineForce; + float mSteering; + + int mWheelEngineStyle; + int mWheelSteeringStyle; + + + bool mSteeringLeft; + bool mSteeringRight; +}; + + +#endif //_OGREBULLET_Vehicles_Demo__H Modified: trunk/ogrebullet/Demos/Dynamics_Demos/scripts/VC8/Ogre_Bullet_Dynamics_Demos_SDK.vcproj =================================================================== --- trunk/ogrebullet/Demos/Dynamics_Demos/scripts/VC8/Ogre_Bullet_Dynamics_Demos_SDK.vcproj 2008-05-13 14:47:20 UTC (rev 2439) +++ trunk/ogrebullet/Demos/Dynamics_Demos/scripts/VC8/Ogre_Bullet_Dynamics_Demos_SDK.vcproj 2008-05-13 15:14:37 UTC (rev 2440) @@ -1,324 +1,324 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="8,00" - Name="Dynamics_Demos" - ProjectGUID="{96F6C2AA-6145-435B-B6F1-77AB7026BB29}" - Keyword="Win32Proj" - > - <Platforms> - <Platform - Name="Win32" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory="..\..\bin\$(ConfigurationName)" - IntermediateDirectory="..\..\obj\$(ConfigurationName)" - ConfigurationType="1" - InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories=""$(BULLET_HOME)\src";"$(BULLET_HOME)\Extras\GIMPACT\include";..\include;..\..\include;..\..\..\include;..\..\..\..\include;..\..\..\..\Collisions\include;..\..\..\..\Dynamics\include;"$(OGRE_HOME)\include";"$(OGRE_HOME)\Samples\include"" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS" - MinimalRebuild="false" - BasicRuntimeChecks="3" - SmallerTypeCheck="false" - RuntimeLibrary="3" - BufferSecurityCheck="false" - EnableFunctionLevelLinking="false" - FloatingPointModel="2" - UsePrecompiledHeader="0" - WarningLevel="3" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="OgreMain_d.lib OIS_d.lib OgreBulletCollisions_d.lib OgreBulletDynamics_d.lib libbulletcollision_d.lib libbulletdynamics_d.lib libbulletmath_d.lib libGIMPACT_d.lib" - OutputFile="$(OutDir)/OgreBulletDemos.exe" - LinkIncremental="2" - AdditionalLibraryDirectories=""..\..\..\..\lib\$(ConfigurationName)";"$(OGRE_HOME)\lib\";"$(BULLET_HOME)\out\$(ConfigurationName)8\libs"" - IgnoreAllDefaultLibraries="false" - IgnoreDefaultLibraryNames="" - GenerateDebugInformation="true" - ProgramDatabaseFile="$(OutDir)/OgreOdeDemo_Blender.pdb" - SubSystem="2" - OptimizeForWindows98="1" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - CommandLine="copy $(TargetPath) $(OGRE_HOME)\bin\$(ConfigurationName)" - /> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory="..\..\bin\$(ConfigurationName)" - IntermediateDirectory="..\..\obj\$(ConfigurationName)" - ConfigurationType="1" - InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - Optimization="2" - InlineFunctionExpansion="1" - FavorSizeOrSpeed="1" - WholeProgramOptimization="true" - AdditionalIncludeDirectories=""$(BULLET_HOME)\src";"$(BULLET_HOME)\Extras\GIMPACT\include";..\include;..\..\include;..\..\..\include;..\..\..\..\include;..\..\..\..\Collisions\include;..\..\..\..\Dynamics\include;"$(OGRE_HOME)\include";"$(OGRE_HOME)\Samples\include"" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_PRECOMP" - StringPooling="true" - MinimalRebuild="true" - BasicRuntimeChecks="0" - SmallerTypeCheck="false" - RuntimeLibrary="2" - BufferSecurityCheck="false" - EnableFunctionLevelLinking="true" - FloatingPointModel="2" - UsePrecompiledHeader="0" - WarningLevel="3" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="OgreMain.lib OIS.lib OgreBulletCollisions.lib OgreBulletDynamics.lib libbulletcollision.lib libbulletdynamics.lib libbulletmath.lib libGIMPACT.lib" - OutputFile="$(OutDir)/OgreBulletDemos.exe" - LinkIncremental="1" - AdditionalLibraryDirectories=""..\..\..\..\lib\$(ConfigurationName)";"$(OGRE_HOME)\lib\";"$(BULLET_HOME)\out\$(ConfigurationName)8\libs"" - GenerateDebugInformation="true" - SubSystem="2" - OptimizeReferences="2" - EnableCOMDATFolding="2" - OptimizeForWindows98="1" - LinkTimeCodeGeneration="1" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - CommandLine="copy $(TargetPath) $(OGRE_HOME)\bin\$(ConfigurationName)" - /> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" - UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" - > - <File - RelativePath="..\..\src\Constraints_Demo.cpp" - > - </File> - <File - RelativePath="..\..\src\main.cpp" - > - </File> - <File - RelativePath="..\..\src\Primitives_Demo.cpp" - > - </File> - <File - RelativePath="..\..\src\Ragdoll_Demo.cpp" - > - </File> - <File - RelativePath="..\..\src\Terrain_Demo.cpp" - > - </File> - <File - RelativePath="..\..\src\TriMesh_Demo.cpp" - > - </File> - <File - RelativePath="..\..\src\Vehicle_Demo.cpp" - > - </File> - <Filter - Name="Common" - > - <File - RelativePath="..\..\..\src\BetaGUI.cpp" - > - </File> - <File - RelativePath="..\..\..\src\OgreBulletApplication.cpp" - > - </File> - <File - RelativePath="..\..\..\src\OgreBulletGuiListener.cpp" - > - </File> - <File - RelativePath="..\..\..\src\OgreBulletInputListener.cpp" - > - </File> - <File - RelativePath="..\..\..\src\OgreBulletListener.cpp" - > - </File> - </Filter> - </Filter> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hm;inl;inc;xsd" - UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" - > - <File - RelativePath="..\..\include\Constraints_Demo.h" - > - </File> - <File - RelativePath="..\..\include\Primitives_Demo.h" - > - </File> - <File - RelativePath="..\..\include\Ragdoll_Demo.h" - > - </File> - <File - RelativePath="..\..\include\Terrain_Demo.h" - > - </File> - <File - RelativePath="..\..\include\TriMesh_Demo.h" - > - </File> - <File - RelativePath="..\..\include\Vehicle_Demo.h" - > - </File> - <Filter - Name="Common" - > - <File - RelativePath="..\..\..\include\BetaGUI.h" - > - </File> - <File - RelativePath="..\..\..\include\OgreBulletApplication.h" - > - </File> - <File - RelativePath="..\..\..\include\OgreBulletGuiListener.h" - > - </File> - <File - RelativePath="..\..\..\include\OgreBulletInputListener.h" - > - </File> - <File - RelativePath="..\..\..\include\OgreBulletListener.h" - > - </File> - </Filter> - </Filter> - <Filter - Name="Resource Files" - Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" - UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" - > - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8,00" + Name="Dynamics_Demos" + ProjectGUID="{96F6C2AA-6145-435B-B6F1-77AB7026BB29}" + Keyword="Win32Proj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="$(OGRE_HOME)\bin\$(ConfigurationName)" + IntermediateDirectory="..\..\obj\$(ConfigurationName)" + ConfigurationType="1" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories=""$(BULLET_HOME)\src";"$(BULLET_HOME)\Extras\GIMPACT\include";..\include;..\..\include;..\..\..\include;..\..\..\..\include;..\..\..\..\Collisions\include;..\..\..\..\Dynamics\include;"$(OGRE_HOME)\include";"$(OGRE_HOME)\Samples\include"" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS" + MinimalRebuild="false" + BasicRuntimeChecks="3" + SmallerTypeCheck="false" + RuntimeLibrary="3" + BufferSecurityCheck="false" + EnableFunctionLevelLinking="false" + FloatingPointModel="2" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="OgreMain_d.lib OIS_d.lib OgreBulletCollisions_d.lib OgreBulletDynamics_d.lib libbulletcollision_d.lib libbulletdynamics_d.lib libbulletmath_d.lib libGIMPACT_d.lib" + OutputFile="$(OutDir)/OgreBulletDemos.exe" + LinkIncremental="2" + AdditionalLibraryDirectories=""..\..\..\..\lib\$(ConfigurationName)";"$(OGRE_HOME)\lib\";"$(BULLET_HOME)\out\$(ConfigurationName)8\libs"" + IgnoreAllDefaultLibraries="false" + IgnoreDefaultLibraryNames="" + GenerateDebugInformation="true" + ProgramDatabaseFile="$(OutDir)/OgreOdeDemo_Blender.pdb" + SubSystem="2" + OptimizeForWindows98="1" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="$(OGRE_HOME)\bin\$(ConfigurationName)" + IntermediateDirectory="..\..\obj\$(ConfigurationName)" + ConfigurationType="1" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="2" + InlineFunctionExpansion="1" + FavorSizeOrSpeed="1" + WholeProgramOptimization="true" + AdditionalIncludeDirectories=""$(BULLET_HOME)\src";"$(BULLET_HOME)\Extras\GIMPACT\include";..\include;..\..\include;..\..\..\include;..\..\..\..\include;..\..\..\..\Collisions\include;..\..\..\..\Dynamics\include;"$(OGRE_HOME)\include";"$(OGRE_HOME)\Samples\include"" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_PRECOMP" + StringPooling="true" + MinimalRebuild="true" + BasicRuntimeChecks="0" + SmallerTypeCheck="false" + RuntimeLibrary="2" + BufferSecurityCheck="false" + EnableFunctionLevelLinking="true" + FloatingPointModel="2" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="OgreMain.lib OIS.lib OgreBulletCollisions.lib OgreBulletDynamics.lib libbulletcollision.lib libbulletdynamics.lib libbulletmath.lib libGIMPACT.lib" + OutputFile="$(OutDir)/OgreBulletDemos.exe" + LinkIncremental="1" + AdditionalLibraryDirectories=""..\..\..\..\lib\$(ConfigurationName)";"$(OGRE_HOME)\lib\";"$(BULLET_HOME)\out\$(ConfigurationName)8\libs"" + GenerateDebugInformation="true" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + OptimizeForWindows98="1" + LinkTimeCodeGeneration="1" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath="..\..\src\Constraints_Demo.cpp" + > + </File> + <File + RelativePath="..\..\src\main.cpp" + > + </File> + <File + RelativePath="..\..\src\Primitives_Demo.cpp" + > + </File> + <File + RelativePath="..\..\src\Ragdoll_Demo.cpp" + > + </File> + <File + RelativePath="..\..\src\Terrain_Demo.cpp" + > + </File> + <File + RelativePath="..\..\src\TriMesh_Demo.cpp" + > + </File> + <File + RelativePath="..\..\src\Vehicle_Demo.cpp" + > + </File> + <Filter + Name="Common" + > + <File + RelativePath="..\..\..\src\BetaGUI.cpp" + > + </File> + <File + RelativePath="..\..\..\src\OgreBulletApplication.cpp" + > + </File> + <File + RelativePath="..\..\..\src\OgreBulletGuiListener.cpp" + > + </File> + <File + RelativePath="..\..\..\src\OgreBulletInputListener.cpp" + > + </File> + <File + RelativePath="..\..\..\src\OgreBulletListener.cpp" + > + </File> + </Filter> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\..\include\Constraints_Demo.h" + > + </File> + <File + RelativePath="..\..\include\Primitives_Demo.h" + > + </File> + <File + RelativePath="..\..\include\Ragdoll_Demo.h" + > + </File> + <File + RelativePath="..\..\include\Terrain_Demo.h" + > + </File> + <File + RelativePath="..\..\include\TriMesh_Demo.h" + > + </File> + <File + RelativePath="..\..\include\Vehicle_Demo.h" + > + </File> + <Filter + Name="Common" + > + <File + RelativePath="..\..\..\include\BetaGUI.h" + > + </File> + <File + RelativePath="..\..\..\include\OgreBulletApplication.h" + > + </File> + <File + RelativePath="..\..\..\include\OgreBulletGuiListener.h" + > + </File> + <File + RelativePath="..\..\..\include\OgreBulletInputListener.h" + > + </File> + <File + RelativePath="..\..\..\include\OgreBulletListener.h" + > + </File> + </Filter> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> Added: trunk/ogrebullet/Demos/Dynamics_Demos/src/Ragdoll_Demo.cpp =================================================================== --- trunk/ogrebullet/Demos/Dynamics_Demos/src/Ragdoll_Demo.cpp (rev 0) +++ trunk/ogrebullet/Demos/Dynamics_Demos/src/Ragdoll_Demo.cpp 2008-05-13 15:14:37 UTC (rev 2440) @@ -0,0 +1,321 @@ +/*************************************************************************** + +This source file is part of OGREBULLET +(Object-oriented Graphics Rendering Engine Bullet Wrapper) +For the latest info, see http://www.ogre3d.org/phpBB2addons/viewforum.php?f=10 + +Copyright (c) 2007 tua...@gm... (Use it Freely, even Statically, but have to contribute any changes) + + + +This source file is not LGPL, it's public source code that you can reuse. +-----------------------------------------------------------------------------*/ +#include "Ragdoll_Demo.h" + +#include "OgreBulletDynamicsWorld.h" +#include "OgreBulletDynamicsRigidBody.h" +#include "Debug/OgreBulletCollisionsDebugDrawer.h" + +#if !(OGRE_VERSION < ((1 << 16) | (3 << 8) | 0)) +using namespace OIS; +#endif + +using namespace Ogre; +using namespace OgreBulletCollisions; +using namespace OgreBulletDynamics; + +// ------------------------------------------------------------------------- +const String ragdollMeshNames[] = { + "zombie_small.mesh", + "zombie_small.mesh", + "ninja.mesh", + "robot.mesh", + "GingerBreadMan.mesh" +}; +const String ragdollAnimation [] = { + "Walk1", + "Walk1", + "Walk", + "Walk", + "Walk1" +}; +size_t sSelectedMesh = 1; + +#ifdef _DEBUG +const size_t sMaxRagdoll = 10; +#else //_DEBUG +const size_t sMaxRagdoll = 30; +#endif //_DEBUG +// ------------------------------------------------------------------------- +const Vector3 CameraStart = Vector3(0,-9,1); +// ------------------------------------------------------------------------- + +typedef std::list<Entity *> RagDollList; + +struct ragDollData +{ + OgreBulletDynamics::RagDoll *ragdoll; + size_t sSelectedMesh; + Ogre::Real timeSinceBirth; + Ogre::Real timeSincePhysical; +}; + +// ------------------------------------------------------------------------- +RagDollList myRagDolls; + +Real _animation_speed; + +Entity *_gun; +SceneNode *_gun_node; + +Overlay* _over; + +Real _shot_time; + +Real _last_ragdoll; +int _ragdoll_count; +// ------------------------------------------------------------------------- + +// ------------------------------------------------------------------------- +void Ragdoll_Demo::init(Ogre::Root *root, Ogre::RenderWindow *win, OgreBulletApplication *application) +{ + mHelpKeys.clear(); + mHelpKeys.push_back (BASIC_HELP_INFO0); + mHelpKeys.push_back (BASIC_HELP_INFO1); + mHelpKeys.push_back (BASIC_HELP_INFO2); + mHelpKeys.push_back (BASIC_HELP_INFO3); + mHelpKeys.push_back (BASIC_HELP_INFO4); + mHelpKeys.push_back (BASIC_HELP_INFO5); + mHelpKeys.push_back (BASIC_HELP_INFO6); + // ------------------------ + // Start OgreScene + mSceneMgr = root->createSceneManager(ST_GENERIC); + + mCamera = mSceneMgr->createCamera("Cam"); + //mCamera->setFOVy(Degree(90)); + mCamera->setNearClipDistance(0.1); + mCamera->setFarClipDistance(100); + Viewport *vp = win->addViewport(mCamera); + vp->setBackgroundColour(ColourValue(0,0,0)); + // Alter the camera aspect ratio to match the viewport + mCamera->setAspectRatio( + Real(vp->getActualWidth()) / Real(vp->getActualHeight())); + mCamera->setPosition(CameraStart); + mCamera->rotate(Vector3(1,0,0), Degree(90)); + mCamera->setFixedYawAxis(true, Vector3::UNIT_Z); + + OgreBulletListener::init(root, win, application); + + // ------------------------ + // add lights + setBasicLight(); + + // ------------------------ + // Add the Gui + setPhysicGUI(); + // ------------------------ + // Start Bullet + initWorld(); + + // ------------------------ + // Add the ground + addGround(); +} +// ------------------------------------------------------------------------- +void Ragdoll_Demo::keyPressed(BULLET_KEY_CODE key) +{ + const float trowDist = 2.0f; + switch(key) + { + case KC_X: + shootToKill(); + break; + } + OgreBulletListener::throwDynamicObject (key); + OgreBulletListener::dropDynamicObject (key); + + return OgreBulletListener::keyPressed (key); +} +// ------------------------------------------------------------------------- +void Ragdoll_Demo::button0Pressed() +{ + shootToKill(); +} +// ------------------------------------------------------------------------- +bool Ragdoll_Demo::frameStarted(Ogre::Real elapsedTime) +{ + _last_ragdoll += elapsedTime; + + +#ifdef _RAGDOLL_FINISHED + _gun_node->setOrientation(mCamera->getOrientation()); + _gun_node->setPosition(mCamera->getPosition() + (mCamera->getOrientation() * Ogre::Vector3(0.3,-0.15,-1.1))); + + for ( RagDollList::iterator iRag = myRagDolls.begin(); + iRag != myRagDolls.end(); + ++iRag) + { + ragDollData *b = any_cast<ragDollData *> ((*iRag)->getUserAny()); + if (b && b->ragdoll) + { + if (b->ragdoll->isActive()) + { + + b->timeSincePhysical += time; + b->ragdoll->update(); + } + } + else + { + (*iRag)->getAnimationState(ragdollAnimation[b->sSelectedMesh])->addTime(time * _animation_speed); + + (*iRag)->getParentNode ()->translate( + (*iRag)->getParentNode ()->getOrientation() * (Vector3::UNIT_Z * time * 2.5)); + + } + } +#endif + + return OgreBulletListener::frameStarted(elapsedTime);; +} +// ------------------------------------------------------------------------- +bool Ragdoll_Demo::frameEnded(Ogre::Real elapsedTime) +{ +#ifdef _RAGDOLL_FINISHED + _shot_time -= time; + + + for ( RagDollList::iterator i = myRagDolls.begin(); + i != myRagDolls.end(); ) + { + + ragDollData *b = any_cast<ragDollData *> ((*i)->getUserAny()); + + if (b) + { + b->timeSinceBirth += time; + + // turn to stone to improve fps, + // better way to do that would be to tweak + // simulation parameters to be less jitty. + // better auto sleep + if (b->ragdoll + && b->ragdoll->isActive() + && b->timeSincePhysical > 5.0) + { + b->ragdoll->setSleep(); + } + + + if ( b->timeSinceBirth > sMaxRagdoll) + { + delete b->ragdoll; + delete b; + + (static_cast<SceneNode*> ((*i)->getParentNode ()->getParent()))->removeAndDestroyChild( + (*i)->getParentNode ()->getName ()); + mSceneMgr->destroyMovableObject((*i)->getName(), (*i)->getMovableType()); + + i = myRagDolls.erase(i); + } + else + { + ++i; + } + } + else + { + ++i; + } + } + if (_last_ragdoll > 5.0 && + myRagDolls.size() < static_cast<size_t>(sMaxRagdoll)) + createRagDoll(); +#endif + return OgreBulletListener::frameEnded(elapsedTime);; +} + +// ------------------------------------------------------------------------- +void Ragdoll_Demo::shootToKill() +{ +#ifdef _RAGDOLL_FINISHED + if (_shot_time <= 0.0) + { + + Ray pickRay = mCamera->getCameraToViewportRay(0.5, 0.5); + + _shot_time = 0.2; + + mRayQuery->setRay (pickRay); + const RaySceneQueryResult& result = mRayQuery->execute(); + if (!result.empty()) + { + RaySceneQueryResult::const_iterator i = result.begin(); + + //mRayQuery->setSortByDistance (true, 1);//only one hit + + //myBulletRayRay->setDefinition(pickRay.getOrigin(), pickRay.getDirection()); + //myBulletRayRay->enable (); + + while((i != result.end())) + { + + _last_ragdoll = 5.0; + + Entity *e = i->movable; + ragDollData * const b = any_cast<ragDollData *> (e->getUserAny()); + + // uncomment to see nice debug mesh of animated mesh + //#define _DEBUG_ZOMBIE_TRIMESH +#ifdef _DEBUG_TRIMESH + // ray cast could be tested against that instead of ragdoll. + // depending on complexity of mesh could be simpler + OgreBulletListener::AnimatedMeshToShapeConverter meshconverter(e, e->getParentNode ()->_getFullTransform()); + //_geoms.push_back(meshconverter.createStaticTriangleMesh(_world, _space)); +#else //_DEBUG_TRIMESH + bool wasPhysical = b && b->ragdoll && b->ragdoll->isCollisionEnabled(); + if (!wasPhysical) + { + e->getAnimationState(ragdollAnimation[b->sSelectedMesh])->setEnabled(false); + + + // Create the ragdoll + b->ragdoll->collisionEnable(true); + //e->setSelfCollisions(true); + + } + + + OgreBulletDynamics::RigidBody *hit_body; + Ogre::Vector3 hit_point; + + bool is_hit = false; + if (e->pickRagdoll(myBulletRay, hit_body, hit_point)) + { + if (hit_body) + { + hit_body->addForceAt(pickRay.getDirection() * 250000, hit_point); + is_hit = true; + ragDollData *b = any_cast<ragDollData *> (e->getUserAny()); + b->timeSincePhysical = 0.0f; + } + } + + if (!is_hit&& !wasPhysical) + { + ragDollData *b = any_cast<ragDollData *> (e->getUserAny()); + if (b && b->ragdoll) + b->ragdoll->collisionEnable(false); + + e->getAnimationState(ragdollAnimation[b->sSelectedMesh])->setEnabled(true); + } +#endif //_TESTTRIMESH + + ++i; + } // if results. + } + //myBulletRay->disable (); + } + +#endif +} \ No newline at end of file Added: trunk/ogrebullet/Demos/Dynamics_Demos/src/Terrain_Demo.cpp =================================================================== --- trunk/ogrebullet/Demos/Dynamics_Demos/src/Terrain_Demo.cpp (rev 0) +++ trunk/ogrebullet/Demos/Dynamics_Demos/src/Terrain_Demo.cpp 2008-05-13 15:14:37 UTC (rev 2440) @@ -0,0 +1,574 @@ +/*************************************************************************** + +This source file is part of OGREBULLET +(Object-oriented Graphics Rendering Engine Bullet Wrapper) +For the latest info, see http://www.ogre3d.org/phpBB2addons/viewforum.php?f=10 + +Copyright (c) 2007 tua...@gm... (Use it Freely, even Statically, but have to contribute any changes) + + + +This source file is not LGPL, it's public source code that you can reuse. +-----------------------------------------------------------------------------*/ +#include "Terrain_Demo.h" + +#include "Shapes/OgreBulletCollisionsTerrainShape.h" +#include "Shapes/OgreBulletCollisionsBoxShape.h" +#include "Shapes/OgreBulletCollisionsCompoundShape.h" + +#include "OgreBulletDynamicsWorld.h" +#include "OgreBulletDynamicsRigidBody.h" +#include "Debug/OgreBulletCollisionsDebugDrawer.h" + +#include "Constraints/OgreBulletDynamicsRaycastVehicle.h" + +#if !(OGRE_VERSION < ((1 << 16) | (3 << 8) | 0)) +using namespace OIS; +#endif + +using namespace Ogre; +using namespace OgreBulletCollisions; +using namespace OgreBulletDynamics; + + + +///btRaycastVehicle is the interface for the constraint that implements the raycast vehicle +///notice that for higher-quality slow-moving vehicles, another approach might be better +///implementing explicit hinged-wheel constraints with cylinder collision, rather then raycasts + + static float gMaxEngineForce = 3000.f; + + static float gSteeringIncrement = 0.04f; + static float gSteeringClamp = 0.8f; + + static float gWheelRadius = 0.5f; + static float gWheelWidth = 0.4f; + + static float gWheelFriction = 1e30f;//1000;//1e30f; + static float gSuspensionStiffness = 20.f; + static float gSuspensionDamping = 2.3f; + static float gSuspensionCompression = 4.4f; + + static float gRollInfluence = + //0.1f; + 1.0f; + static float gSuspensionRestLength = 0.6; + static float gMaxSuspensionTravelCm = 500.0; + static float gFrictionSlip = 10.5; + + static const Vector3 CameraStart = Vector3(0, 25, 0); + // ------------------------------------------------------------------------- + static const Vector3 CarPosition = Vector3(15, 3,-15); + + static const float terrain_height = 45; + static const Vector3 terrain_Shift = Vector3(750, terrain_height, 750); + + +#define CUBE_HALF_EXTENTS 1 + +// ------------------------------------------------------------------------- +void Terrain_Demo::init(Ogre::Root *root, Ogre::RenderWindow *win, OgreBulletApplication *application) +{ + + mCameraMove = 1; + + + mHelpKeys.clear(); + mHelpKeys.push_back (BASIC_HELP_INFO0); + mHelpKeys.push_back (BASIC_HELP_INFO1); + mHelpKeys.push_back (BASIC_HELP_INFO2); + mHelpKeys.push_back (BASIC_HELP_INFO3); + mHelpKeys.push_back (BASIC_HELP_INFO4); + mHelpKeys.push_back (BASIC_HELP_INFO5); + mHelpKeys.push_back (BASIC_HELP_INFO6); + mHelpKeys.push_back ("Use Arrow Key to move Car."); + +// reset + for (int i = 0; i < 4; i++) + { + mWheelsEngine[i] = 0; + mWheelsSteerable[i] = 0; + } + mWheelsEngineCount = 2; + mWheelsEngine[0] = 0; + mWheelsEngine[1] = 1; + mWheelsEngine[2] = 2; + mWheelsEngine[3] = 3; + + mWheelsSteerableCount = 2; + mWheelsSteerable[0] = 0; + mWheelsSteerable[1] = 1; + //mWheelsSteerable[2] = 2; + //mWheelsSteerable[3] = 3; + + mWheelEngineStyle = 0; + mWheelSteeringStyle = 0; + + mSteeringLeft = false; + mSteeringRight = false; + + mEngineForce = 0; + mSteering = 0; + + // ------------------------ + // Start OgreScene + mSceneMgr = root->createSceneManager( "TerrainSceneManager", "BulletTerrain"); + + mCamera = mSceneMgr->createCamera("Cam"); + //mCamera->setFOVy(Degree(90)); + mCamera->setNearClipDistance(0.1); + mCamera->setFarClipDistance(100); + Viewport *vp = win->addViewport(mCamera); + vp->setBackgroundColour(ColourValue(0,0,0)); + // Alter the camera aspect ratio to match the viewport + mCamera->setAspectRatio( + Real(vp->getActualWidth()) / Real(vp->getActualHeight())); + mCamera->setPosition(CameraStart + terrain_Shift); + mCamera->lookAt(CarPosition + terrain_Shift); + + + // Create a terrain + std::string terrain_cfg("terrain.cfg"); + mSceneMgr->setWorldGeometry(terrain_cfg); + + OgreBulletListener::init(root, win, application); + + // ------------------------ + // add lights + setBasicLight(); + + // ------------------------ + // Add the Gui + setPhysicGUI(); + // ------------------------ + // Start Bullet + initWorld(); + + // ------------------------ + // Add the ground + + // 0.1, 0.8 + //addStaticPlane(0.3, 0.8); + + { + int page_size; + Vector3 terrainScale; + String terrainfileName; + + { + Ogre::ConfigFile config; + Ogre::String val; + + config.loadFromResourceSystem(terrain_cfg, ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME, "=", true); + + val = config.getSetting( "PageSize" ); + assert( !val.empty() ); + page_size = atoi( val.c_str() ); + + val = config.getSetting( "PageWorldX" ); + assert( !val.empty() ); + terrainScale.x = atof( val.c_str() ) / page_size; + + val = config.getSetting( "MaxHeight" ); + assert( !val.empty() ); + terrainScale.y = atof( val.c_str() ); + + val = config.getSetting( "PageWorldZ" ); + assert( !val.empty() ); + terrainScale.z = atof( val.c_str() ) / page_size; + + val = config.getSetting( "Heightmap.image" ); + assert( !val.empty() ); + terrainfileName = val; + } + + + float *heights = new float [page_size*page_size]; + { + Ogre::Image terrainHeightMap; + terrainHeightMap.load(terrainfileName, ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME); + + const uchar * const __restrict imagedata = terrainHeightMap.getData(); + for (int src_pos = 0; src_pos < page_size*page_size; src_pos += 1) + { + heights[src_pos] = (((float)(imagedata[src_pos])) / 255); + } + } + + mTerrainShape = new HeightmapCollisionShape ( + page_size, + page_size, + terrainScale, + heights, + true); + + RigidBody *defaultTerrainBody = new RigidBody( + "Terrain", + mWorld); + + const float terrainBodyRestitution = 0.1f; + const float terrainBodyFriction = 0.8f; + + Ogre::Vector3 terrainShiftPos(page_size, 0.0, page_size); + //Ogre::Vector3 terrainShiftPos(terrainScale.x, 0.0, terrainScale.z); + terrainShiftPos *= terrainScale; + terrainShiftPos /= 2; + + Ogre::SceneNode* pTerrainNode = mSceneMgr->getRootSceneNode ()->createChildSceneNode (); + defaultTerrainBody->setStaticShape (pTerrainNode, mTerrainShape, terrainBodyRestitution, terrainBodyFriction, terrainShiftPos); + + mBodies.push_back(defaultTerrainBody); + mShapes.push_back(mTerrainShape); + } + + + + + // create obstacle in front of car + addCube("obstacle", Vector3(13, -5.25, -5) + terrain_Shift , Quaternion(Radian(Degree(22.5)), Vector3::UNIT_X), Vector3(1, 1, 1), 0.3, 0.8, 0); + addCube("obstacle", Vector3(15, -5.25, -5) + terrain_Shift , Quaternion(Radian(Degree(22.5)), Vector3::UNIT_X), Vector3(1, 1, 1), 0.3, 0.8, 0); + addCube("obstacle", Vector3(17, -5.25, -5) + terrain_Shift , Quaternion(Radian(Degree(22.5)), Vector3::UNIT_X), Vector3(1, 1, 1), 0.3, 0.8, 0); + + addCube("obstacle", Vector3(13, -5.25, -10) + terrain_Shift , Quaternion(Radian(Degree(-22.5)), Vector3::UNIT_X), Vector3(1, 1, 1), 0.3, 0.8, 0); + addCube("obstacle", Vector3(15, -5.25, -10) + terrain_Shift , Quaternion(Radian(Degree(-22.5)), Vector3::UNIT_X), Vector3(1, 1, 1), 0.3, 0.8, 0); + addCube("obstacle", Vector3(17, -5.25, -10) + terrain_Shift , Quaternion(Radian(Degree(-22.5)), Vector3::UNIT_X), Vector3(1, 1, 1), 0.3, 0.8, 0); + + // create obstacle a bit aside + addCube("obstacle", Vector3(-2, 0, -5) + terrain_Shift , Quaternion(Radian(Degree(45.0)), Vector3::UNIT_X), Vector3(1, 1, 1), 0.3, 0.8, 0); + addCube("obstacle", Vector3(0, 0, -5) + terrain_Shift , Quaternion(Radian(Degree(45.0)), Vector3::UNIT_X), Vector3(1, 1, 1), 0.3, 0.8, 0); + addCube("obstacle", Vector3(2, 0, -5) + terrain_Shift , Quaternion(Radian(Degree(45.0)), Vector3::UNIT_X), Vector3(1, 1, 1), 0.3, 0.8, 0); + + addCube("obstacle", Vector3(-2, 0, -10) + terrain_Shift , Quaternion(Radian(Degree(-45.0)), Vector3::UNIT_X), Vector3(1, 1, 1), 0.3, 0.8, 0); + addCube("obstacle", Vector3(0, 0, -10) + terrain_Shift , Quaternion(Radian(Degree(-45.0)), Vector3::UNIT_X), Vector3(1, 1, 1), 0.3, 0.8, 0); + addCube("obstacle", Vector3(2, 0, -10) + terrain_Shift , Quaternion(Radian(Degree(-45.0)), Vector3::UNIT_X), Vector3(1, 1, 1), 0.3, 0.8, 0); + + // create obstacle just for fun + addCube("obstacle", Vector3(25, -10, -25) + terrain_Shift , Quaternion(Radian(Degree(45.0)), Vector3::UNIT_Z), Vector3(1, 1, 1), 0.3, 0.8, 0); + addCube("obstacle", Vector3(25, -10, -27) + terrain_Shift , Quaternion(Radian(Degree(45.0)), Vector3::UNIT_Z), Vector3(1, 1, 1), 0.3, 0.8, 0); + addCube("obstacle", Vector3(25, -10, -29) + terrain_Shift , Quaternion(Radian(Degree(45.0)), Vector3::UNIT_Z), Vector3(1, 1, 1), 0.3, 0.8, 0); + + + + + /// create vehicle + { + const Vector3 chassisShift(0, 1.0, 0); + float connectionHeight = 0.7f; + + mChassis = mSceneMgr->createEntity( + "chassis" + StringConverter::toString(mNumEntitiesInstanced++), + "chassis.mesh"); + + SceneNode *node = mSceneMgr->getRootSceneNode ()->createChildSceneNode (); + + SceneNode *chassisnode = node->createChildSceneNode (); + chassisnode->attachObject (mChassis); + chassisnode->setPosition (chassisShift); + + + mChassis->setQueryFlags (GEOMETRY_QUERY_MASK); +#if (OGRE_VERSION < ((1 << 16) | (5 << 8) | 0)) // only applicable before shoggoth (1.5.0) + mChassis->setNormaliseNormals(true); +#endif + mChassis->setCastShadows(true); + + + + CompoundCollisionShape* compound = new CompoundCollisionShape(); + + BoxCollisionShape* chassisShape = new BoxCollisionShape(Vector3(1.f,0.75f,2.1f)); + compound->addChildShape(chassisShape, chassisShift); + + mCarChassis = new WheeledRigidBody("carChassis", mWorld); + + mCarChassis->setShape (node, + compound, + 0.6, //restitution + 0.6, //friction + 800, //bodyMass + CarPosition + terrain_Shift , + Quaternion::IDENTITY); + mCarChassis->setDamping(0.2, 0.2); + + mCarChassis->disableDeactivation (); + mTuning = new VehicleTuning( + gSuspensionStiffness, + gSuspensionCompression, + gSuspensionDamping, + gMaxSuspensionTravelCm, + gFrictionSlip); + + mVehicleRayCaster = new VehicleRayCaster(mWorld); + mVehicle = new RaycastVehicle(mCarChassis, mTuning, mVehicleRayCaster); + + { + int rightIndex = 0; + int upIndex = 1; + int forwardIndex = 2; + + mVehicle->setCoordinateSystem(rightIndex, upIndex, forwardIndex); + + Vector3 wheelDirectionCS0(0,-1,0); + Vector3 wheelAxleCS(-1,0,0); + + for (size_t i = 0; i < 4; i++) + { + mWheels[i] = mSceneMgr->createEntity( + "wheel" + StringConverter::toString(mNumEntitiesInstanced++), + "wheel.mesh"); + + mWheels[i]->setQueryFlags (GEOMETRY_QUERY_MASK); +#if (OGRE_VERSION < ((1 << 16) | (5 << 8) | 0)) // only applicable before shoggoth (1.5.0) + mWheels[i]->setNormaliseNormals(true); +#endif + mWheels[i]->setCastShadows(true); + + mWheelNodes[i] = mSceneMgr->getRootSceneNode ()->createChildSceneNode (); + mWheelNodes[i]->attachObject (mWheels[i]); + + } + + { + bool isFrontWheel = true; + + Vector3 connectionPointCS0 ( + CUBE_HALF_EXTENTS-(0.3*gWheelWidth), + connectionHeight, + 2*CUBE_HALF_EXTENTS-gWheelRadius); + + + mVehicle->addWheel( + mWheelNodes[0], + connectionPointCS0, + wheelDirectionCS0, + wheelAxleCS, + gSuspensionRestLength, + gWheelRadius, + isFrontWheel, gWheelFriction, gRollInfluence); + + connectionPointCS0 = Vector3( + -CUBE_HALF_EXTENTS+(0.3*gWheelWidth), + connectionHeight, + 2*CUBE_HALF_EXTENTS-gWheelRadius); + + + mVehicle->addWheel( + mWheelNodes[1], + connectionPointCS0, + wheelDirectionCS0, + wheelAxleCS, + gSuspensionRestLength, + gWheelRadius, + isFrontWheel, gWheelFriction, gRollInfluence); + + + connectionPointCS0 = Vector3( + -CUBE_HALF_EXTENTS+(0.3*gWheelWidth), + connectionHeight, + -2*CUBE_HALF_EXTENTS+gWheelRadius); + + isFrontWheel = false; + mVehicle->addWheel( + mWheelNodes[2], + connectionPointCS0, + wheelDirectionCS0, + wheelAxleCS, + gSuspensionRestLength, + gWheelRadius, + isFrontWheel, gWheelFriction, gRollInfluence); + + connectionPointCS0 = Vector3( + CUBE_HALF_EXTENTS-(0.3*gWheelWidth), + connectionHeight, + -2*CUBE_HALF_EXTENTS+gWheelRadius); + + mVehicle->addWheel( + mWheelNodes[3], + connectionPointCS0, + wheelDirectionCS0, + wheelAxleCS, + gSuspensionRestLength, + gWheelRadius, + isFrontWheel, gWheelFriction, gRollInfluence); + + //mVehicle->setWheelsAttached(); + + } + + } + } + +} +// ------------------------------------------------------------------------- +void Terrain_Demo::keyPressed(BULLET_KEY_CODE key) +{ + OgreBulletListener::throwDynamicObject (key); + OgreBulletListener::dropDynamicObject (key); + + bool wheel_engine_style_change = false; + bool wheel_steering_style_change = false; + + switch(key) + { + + case KC_PGUP: + wheel_engine_style_change = true; + mWheelEngineStyle = (mWheelEngineStyle + 1) % 3; + break; + case KC_PGDOWN: + wheel_engine_style_change = true; + mWheelEngineStyle = (mWheelEngineStyle - 1) % 3; + break; + case KC_HOME: + wheel_steering_style_change = true; + mWheelSteeringStyle = (mWheelSteeringStyle + 1) % 3; + break; + case KC_END: + wheel_steering_style_change = true; + mWheelSteeringStyle = (mWheelSteeringStyle - 1) % 3;; + break; + + case KC_LEFT: + mSteeringLeft = true; + break; + case KC_RIGHT: + mSteeringRight = true; + break; + case KC_DOWN: + mEngineForce = -gMaxEngineForce; + break; + case KC_UP: + mEngineForce = gMaxEngineForce; + break; + default: + break; + + } + + if (wheel_engine_style_change) + { + for (int i = 0; i < 4; i++) + mWheelsEngine[i] = 0; + + if (mWheelEngineStyle < 0) + mWheelEngineStyle = 2; + + switch (mWheelEngineStyle) + { + case 0://front + mWheelsSteerableCount = 2; + mWheelsSteerable[0] = 0; + mWheelsSteerable[1] = 1; + break; + case 1://back + mWheelsSteerableCount = 2; + mWheelsSteerable[0] = 2; + mWheelsSteerable[1] = 3; + break; + case 2://4x4 + mWheelsSteerableCount = 4; + mWheelsSteerable[0] = 0; + mWheelsSteerable[1] = 1; + mWheelsSteerable[2] = 2; + mWheelsSteerable[3] = 3; + break; + default: + assert(0); + break; + } + } + + if (wheel_steering_style_change) + { + for (int i = 0; i < 4; i++) + mWheelsSteerable[i] = 0; + + if (mWheelSteeringStyle < 0) + mWheelSteeringStyle = 2; + + switch (mWheelSteeringStyle) + { + case 0://front + mWheelsEngineCount = 2; + mWheelsEngine[0] = 0; + mWheelsEngine[1] = 1; + break; + case 1://back + mWheelsEngineCount = 2; + mWheelsEngine[0] = 2; + mWheelsEngine[1] = 3; + break; + case 2://4x4 + mWheelsEngineCount = 4; + mWheelsEngine[0] = 0; + mWheelsEngine[1] = 1; + mWheelsEngine[2] = 2; + mWheelsEngine[3] = 3; + break; + default: + assert(0); + break; + } + } + + return OgreBulletListener::keyPressed (key); +} +// ------------------------------------------------------------------------- +void Terrain_Demo::keyReleased(BULLET_KEY_CODE key) +{ + switch(key) + { + + case KC_LEFT: + mSteeringLeft = false; + break; + case KC_RIGHT: + mSteeringRight = false; + break; + case KC_DOWN: + mEngineForce = 0; + break; + case KC_UP: + mEngineForce = 0; + break; + default: + break; + + } + return OgreBulletListener::keyReleased (key); +} +// ------------------------------------------------------------------------- +bool Terrain_Demo::frameStarted(Real elapsedTime) +{ + + // apply engine Force on relevant wheels + for (int i = mWheelsEngine[0]; i < mWheelsEngineCount; i++) + { + mVehicle->applyEngineForce (mEngineForce, mWheelsEngine[i]); + } + + if (mSteeringLeft) + { + mSteering += gSteeringIncrement; + if (mSteering > gSteeringClamp) + mSteering = gSteeringClamp; + } + else if (mSteeringRight) + { + mSteering -= gSteeringIncrement; + if (mSteering < -gSteeringClamp) + mSteering = -gSteeringClamp; + } + + // apply Steering on relevant wheels + for (int i = mWheelsSteerable[0]; i < mWheelsSteerableCount; i++) + { + if (i < 2) + mVehicle->setSteeringValue (mSteering, mWheelsSteerable[i]); + else + mVehicle->setSteeringValue (-mSteering, mWheelsSteerable[i]); + } + + return OgreBulletListener::frameStarted(elapsedTime); +} +// ------------------------------------------------------------------------- \ No newline at end of file Modified: trunk/ogrebullet/Demos/src/OgreBulletListener.cpp =================================================================== (Binary files differ) Added: trunk/ogrebullet/Dynamics/Makefile.am =================================================================== --- trunk/ogrebullet/Dynamics/Makefile.am (rev 0) +++ trunk/ogrebullet/Dynamics/Makefile.am 2008-05-13 15:14:37 UTC (rev 2440) @@ -0,0 +1,2 @@ +SUBDIRS = include src + Added: trunk/ogrebullet/Dynamics/include/Constraints/Makefile.am =================================================================== --- trunk/ogrebullet/Dynamics/include/Constraints/Makefile.am (rev 0) +++ trunk/ogrebullet/Dynamics/include/Constraints/Makefile.am 2008-05-13 15:14:37 UTC (rev 2440) @@ -0,0 +1,9 @@ +ogrebulletdynconstraintsincludedir = $(includedir)/OgreBullet/Dynamics/Constraints + +ogrebulletdynconstraintsinclude_HEADERS = \ + OgreBulletDynamics6DofConstraint.h \ + OgreBulletDynamicsConeTwistConstraint.h \ + OgreBulletDynamicsHingeConstraint.h \ + OgreBulletDynamicsPoint2pointConstraint.h \ + OgreBulletDynamicsRaycastVehicle.h + Added: trunk/ogrebullet/Dynamics/include/Makefile.am =================================================================== --- trunk/ogrebullet/Dynamics/include/Makefile.am (rev 0) +++ trunk/ogrebullet/Dynamics/include/Makefile.am 2008-05-13 15:14:37 UTC (rev 2440) @@ -0,0 +1,12 @@ +ogrebulletdynincludedir = $(includedir)/OgreBullet/Dynamics + +SUBDIRS = Constraints Prefab + +ogrebulletdyninclude_HEADERS = \ + OgreBulletDynamicsConstraint.h \ + OgreBulletDynamics.h \ + OgreBulletDynamicsObjectState.h \ + OgreBulletDynamicsPreRequisites.h \ + OgreBulletDynamicsRigidBody.h \ + OgreBulletDynamicsWorld.h + Modified: trunk/ogrebullet/Dynamics/include/OgreBulletDynamics.h =================================================================== --- trunk/ogrebullet/Dynamics/include/OgreBulletDynamics.h 2008-05-13 14:47:20 UTC (rev 2439) +++ trunk/ogrebullet/Dynamics/include/OgreBulletDynamics.h 2008-05-13 15:14:37 UTC (rev 2440) @@ -1,49 +1,50 @@ -/*************************************************************************** - -This source file is part of OGREBULLET -(Object-oriented Graphics Rendering Engine Bullet Wrapper) -For the latest info, see http://www.ogre3d.org/phpBB2addons/viewforum.php?f=10 - -Copyright (c) 2007 tua...@gm... (Use it Freely... [truncated message content] |
From: <ku...@us...> - 2008-05-13 14:47:22
|
Revision: 2439 http://ogreaddons.svn.sourceforge.net/ogreaddons/?rev=2439&view=rev Author: kuranes Date: 2008-05-13 07:47:20 -0700 (Tue, 13 May 2008) Log Message: ----------- - fix offset quaternion setters Modified Paths: -------------- trunk/ogreode/demos/GranTurismOgre/scripts/VC8/Demo_GranTurismOgre_SDK.vcproj trunk/ogreode/demos/Landscape/scripts/VC8/Demo_Landscape_SDK.vcproj trunk/ogreode/scripts/VC8/OgreOde_SDK.suo trunk/ogreode/src/OgreOdeGeometry.cpp Modified: trunk/ogreode/demos/GranTurismOgre/scripts/VC8/Demo_GranTurismOgre_SDK.vcproj =================================================================== --- trunk/ogreode/demos/GranTurismOgre/scripts/VC8/Demo_GranTurismOgre_SDK.vcproj 2008-05-08 00:53:56 UTC (rev 2438) +++ trunk/ogreode/demos/GranTurismOgre/scripts/VC8/Demo_GranTurismOgre_SDK.vcproj 2008-05-13 14:47:20 UTC (rev 2439) @@ -17,7 +17,7 @@ <Configurations> <Configuration Name="Debug|Win32" - OutputDirectory=" $(OGRE_HOME)\bin\$(ConfigurationName)" + OutputDirectory="$(OGRE_HOME)\bin\$(ConfigurationName)" IntermediateDirectory="..\..\obj\$(ConfigurationName)" ConfigurationType="1" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" Modified: trunk/ogreode/demos/Landscape/scripts/VC8/Demo_Landscape_SDK.vcproj =================================================================== --- trunk/ogreode/demos/Landscape/scripts/VC8/Demo_Landscape_SDK.vcproj 2008-05-08 00:53:56 UTC (rev 2438) +++ trunk/ogreode/demos/Landscape/scripts/VC8/Demo_Landscape_SDK.vcproj 2008-05-13 14:47:20 UTC (rev 2439) @@ -16,7 +16,7 @@ <Configurations> <Configuration Name="Debug|Win32" - OutputDirectory=" $(OGRE_HOME)\bin\$(ConfigurationName)" + OutputDirectory="$(OGRE_HOME)\bin\$(ConfigurationName)" IntermediateDirectory="..\..\obj\$(ConfigurationName)" ConfigurationType="1" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" @@ -100,7 +100,7 @@ </Configuration> <Configuration Name="Release|Win32" - OutputDirectory=" $(OGRE_HOME)\bin\$(ConfigurationName)" + OutputDirectory="$(OGRE_HOME)\bin\$(ConfigurationName)" IntermediateDirectory="..\..\obj\$(ConfigurationName)" ConfigurationType="1" InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" Modified: trunk/ogreode/scripts/VC8/OgreOde_SDK.suo =================================================================== (Binary files differ) Modified: trunk/ogreode/src/OgreOdeGeometry.cpp =================================================================== --- trunk/ogreode/src/OgreOdeGeometry.cpp 2008-05-08 00:53:56 UTC (rev 2438) +++ trunk/ogreode/src/OgreOdeGeometry.cpp 2008-05-13 14:47:20 UTC (rev 2439) @@ -472,10 +472,10 @@ void Geometry::setOffsetQuaternion(const Ogre::Quaternion &quat) { dQuaternion q; - q[0] = quat.x; - q[1] = quat.y; - q[2] = quat.z; - q[3] = quat.w; + q[0] = quat.w; + q[1] = quat.x; + q[2] = quat.y; + q[3] = quat.z; dGeomSetOffsetQuaternion (_geom, q); if ((_debug_node)&& ((getBody())/* || (_encapsulator)*/)) @@ -494,10 +494,10 @@ void Geometry::setOffsetWorldQuaternion(const Ogre::Quaternion &quat) { dQuaternion q; - q[0] = quat.x; - q[1] = quat.y; - q[2] = quat.z; - q[3] = quat.w; + q[0] = quat.w; + q[1] = quat.x; + q[2] = quat.y; + q[3] = quat.z; dGeomSetOffsetWorldQuaternion (_geom, q); if ((_debug_node)&& ((getBody())/* || (_encapsulator)*/)) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <si...@us...> - 2008-05-04 11:13:21
|
Revision: 2437 http://ogreaddons.svn.sourceforge.net/ogreaddons/?rev=2437&view=rev Author: sinbad Date: 2008-05-04 04:13:23 -0700 (Sun, 04 May 2008) Log Message: ----------- dotsceneoctree is now inside dotsceneformat folder Removed Paths: ------------- trunk/dotsceneoctree/ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <si...@us...> - 2008-05-03 18:37:09
|
Revision: 2436 http://ogreaddons.svn.sourceforge.net/ogreaddons/?rev=2436&view=rev Author: sinbad Date: 2008-05-03 11:36:47 -0700 (Sat, 03 May 2008) Log Message: ----------- Added my wxWidgets MVC application framework, renamed wxOgreMVC. Released under the MIT license. Added Paths: ----------- trunk/wxOgreMVC/ trunk/wxOgreMVC/Readme.txt trunk/wxOgreMVC/bin/ trunk/wxOgreMVC/bin/icons/ trunk/wxOgreMVC/bin/icons/arrow_in.png trunk/wxOgreMVC/bin/icons/arrow_join.png trunk/wxOgreMVC/bin/icons/arrow_out.png trunk/wxOgreMVC/bin/icons/arrow_right.png trunk/wxOgreMVC/bin/icons/arrow_rotate_anticlockwise.png trunk/wxOgreMVC/bin/icons/arrow_turn_left.png trunk/wxOgreMVC/bin/icons/arrow_turn_right.png trunk/wxOgreMVC/bin/icons/brick.png trunk/wxOgreMVC/bin/icons/bullet_black.png trunk/wxOgreMVC/bin/icons/bullet_green.png trunk/wxOgreMVC/bin/icons/camera.png trunk/wxOgreMVC/bin/icons/camera_direct.png trunk/wxOgreMVC/bin/icons/camera_targetted.png trunk/wxOgreMVC/bin/icons/chart_organisation.png trunk/wxOgreMVC/bin/icons/cut.png trunk/wxOgreMVC/bin/icons/eye.png trunk/wxOgreMVC/bin/icons/folder_page.png trunk/wxOgreMVC/bin/icons/lightbulb.png trunk/wxOgreMVC/bin/icons/page_copy.png trunk/wxOgreMVC/bin/icons/page_lightning.png trunk/wxOgreMVC/bin/icons/page_paste.png trunk/wxOgreMVC/bin/icons/page_world.png trunk/wxOgreMVC/bin/icons/pointer.gif trunk/wxOgreMVC/bin/icons/shape_square_add.png trunk/wxOgreMVC/bin/icons/shape_square_edit.png trunk/wxOgreMVC/bin/icons/vector.png trunk/wxOgreMVC/bin/textures/ trunk/wxOgreMVC/bin/textures/grid.png trunk/wxOgreMVC/bin/xformpanel.fbp trunk/wxOgreMVC/copydlls.bat trunk/wxOgreMVC/include/ trunk/wxOgreMVC/include/GesModelStyleNode.h trunk/wxOgreMVC/include/OgreMVCControllerInstance.h trunk/wxOgreMVC/include/OgreMVCControllerManager.h trunk/wxOgreMVC/include/OgreMVCCtrlFpsCamController.h trunk/wxOgreMVC/include/OgreMVCCtrlOrbitCamController.h trunk/wxOgreMVC/include/OgreMVCCtrlPaneController.h trunk/wxOgreMVC/include/OgreMVCCtrlSelectionController.h trunk/wxOgreMVC/include/OgreMVCDefaultControllerInstance.h trunk/wxOgreMVC/include/OgreMVCEntityViewNode.h trunk/wxOgreMVC/include/OgreMVCEvent.h trunk/wxOgreMVC/include/OgreMVCFactory.h trunk/wxOgreMVC/include/OgreMVCGeneral.h trunk/wxOgreMVC/include/OgreMVCModelEntity.h trunk/wxOgreMVC/include/OgreMVCModelManager.h trunk/wxOgreMVC/include/OgreMVCModelMovable.h trunk/wxOgreMVC/include/OgreMVCModelNode.h trunk/wxOgreMVC/include/OgreMVCModelNull.h trunk/wxOgreMVC/include/OgreMVCModelRoot.h trunk/wxOgreMVC/include/OgreMVCModelSelection.h trunk/wxOgreMVC/include/OgreMVCMovableViewNode.h trunk/wxOgreMVC/include/OgreMVCMultiItemControllerInstance.h trunk/wxOgreMVC/include/OgreMVCPrerequisites.h trunk/wxOgreMVC/include/OgreMVCProperty.h trunk/wxOgreMVC/include/OgreMVCStableHeaders.h trunk/wxOgreMVC/include/OgreMVCViewApp.h trunk/wxOgreMVC/include/OgreMVCViewLogWindow.h trunk/wxOgreMVC/include/OgreMVCViewNode.h trunk/wxOgreMVC/include/OgreMVCViewOgreWindow.h trunk/wxOgreMVC/include/OgreMVCViewTopFrame.h trunk/wxOgreMVC/include/OgreMVCViewUtils.h trunk/wxOgreMVC/include/wxFourWaySplitter.h trunk/wxOgreMVC/src/ trunk/wxOgreMVC/src/GesMain.cpp trunk/wxOgreMVC/src/OgreMVCControllerInstance.cpp trunk/wxOgreMVC/src/OgreMVCControllerManager.cpp trunk/wxOgreMVC/src/OgreMVCCtrlFpsCamController.cpp trunk/wxOgreMVC/src/OgreMVCCtrlOrbitCamController.cpp trunk/wxOgreMVC/src/OgreMVCCtrlPaneController.cpp trunk/wxOgreMVC/src/OgreMVCCtrlSelectionController.cpp trunk/wxOgreMVC/src/OgreMVCDefaultControllerInstance.cpp trunk/wxOgreMVC/src/OgreMVCEntityViewNode.cpp trunk/wxOgreMVC/src/OgreMVCEvent.cpp trunk/wxOgreMVC/src/OgreMVCModelEntity.cpp trunk/wxOgreMVC/src/OgreMVCModelManager.cpp trunk/wxOgreMVC/src/OgreMVCModelMovable.cpp trunk/wxOgreMVC/src/OgreMVCModelNode.cpp trunk/wxOgreMVC/src/OgreMVCModelNull.cpp trunk/wxOgreMVC/src/OgreMVCModelRoot.cpp trunk/wxOgreMVC/src/OgreMVCModelSelection.cpp trunk/wxOgreMVC/src/OgreMVCMovableViewNode.cpp trunk/wxOgreMVC/src/OgreMVCMultiItemControllerInstance.cpp trunk/wxOgreMVC/src/OgreMVCPrecompiledHeaders.cpp trunk/wxOgreMVC/src/OgreMVCProperty.cpp trunk/wxOgreMVC/src/OgreMVCViewApp.cpp trunk/wxOgreMVC/src/OgreMVCViewLogWindow.cpp trunk/wxOgreMVC/src/OgreMVCViewOgreWindow.cpp trunk/wxOgreMVC/src/OgreMVCViewTopFrame.cpp trunk/wxOgreMVC/src/OgreMVCViewUtils.cpp trunk/wxOgreMVC/src/wxFourWaySplitter.cpp trunk/wxOgreMVC/wxOgreMVC.sln trunk/wxOgreMVC/wxOgreMVC.suo trunk/wxOgreMVC/wxOgreMVC.vcproj trunk/wxOgreMVC/wxOgreMVC.vcproj.user Added: trunk/wxOgreMVC/Readme.txt =================================================================== --- trunk/wxOgreMVC/Readme.txt (rev 0) +++ trunk/wxOgreMVC/Readme.txt 2008-05-03 18:36:47 UTC (rev 2436) @@ -0,0 +1,44 @@ +wxOgreMVC README File +--------------------- + +wxOgreMVC is a framework I wrote in 2007 to create an application written in wxWidgets with multiple Ogre render windows within it. I decided to open the core of this framework under the MIT license to help other people write their own tools using wxWidgets and Ogre. + +As suggested by the name, the framework adheres to the Model View Controller (MVC) pattern of GUI software design. View components display the user interface, controller components receive user input and route it appropriately, and Model components store the persistent data. Controllers are switchable depending on what tool is currently selected, nicely handling variant behaviour. + +There are several things this framework implements: + +1) A multi-window system with embedded Ogre rendering +2) A typical 3D modeller style 4-pane setup with 'cross' splitter control and the ability to maximise a single window +3) Camera controls - FPS and 'focussed' (orbit) mode +4) An event system communicating changes to the model to other subsystems +5) A single click and rubber-band selection system +6) A generic property system +7) A simple model implementation +8) Examples of doing selection display and different view modes (wire, hidden line, textured) + +When using this framework you will undoubtedly want to expand the model and probably the controller system to meet your applications needs. + +Building +-------- +Place the wxOgreMVC folder alongside the 'ogre' folder, or change the paths internally to cope with a different setup. Only VC++ 2005 is supported currently. The 'copydlls.bat' will copy the Ogre DLLs into the bin directory as needed, provided you've built ogre already and used the standard folder setup. + +Dependencies +------------ +1) wxWidgets +2) Boost +3) Ogre (Shoggoth or later) + +Known Issues +------------ +1) wxWidgets reports some leaks still present +2) Many of the controls on toolbars are not implemented +3) On window closure in debug app doesn't always stop immediately +4) Scene is currently hard-coded for proof of concept + + +Acknowledgements +---------------- +The icons in the application are from FamFamFam: http://www.famfamfam.com/lab/icons/silk/ , used under the Creative Commons Attribution 2.5 license. + + +All other work (c) 2007 Torus Knot Software Ltd Added: trunk/wxOgreMVC/bin/icons/arrow_in.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/arrow_in.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/arrow_join.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/arrow_join.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/arrow_out.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/arrow_out.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/arrow_right.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/arrow_right.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/arrow_rotate_anticlockwise.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/arrow_rotate_anticlockwise.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/arrow_turn_left.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/arrow_turn_left.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/arrow_turn_right.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/arrow_turn_right.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/brick.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/brick.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/bullet_black.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/bullet_black.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/bullet_green.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/bullet_green.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/camera.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/camera.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/camera_direct.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/camera_direct.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/camera_targetted.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/camera_targetted.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/chart_organisation.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/chart_organisation.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/cut.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/cut.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/eye.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/eye.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/folder_page.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/folder_page.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/lightbulb.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/lightbulb.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/page_copy.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/page_copy.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/page_lightning.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/page_lightning.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/page_paste.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/page_paste.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/page_world.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/page_world.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/pointer.gif =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/pointer.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/shape_square_add.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/shape_square_add.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/shape_square_edit.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/shape_square_edit.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/icons/vector.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/icons/vector.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/textures/grid.png =================================================================== (Binary files differ) Property changes on: trunk/wxOgreMVC/bin/textures/grid.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/wxOgreMVC/bin/xformpanel.fbp =================================================================== --- trunk/wxOgreMVC/bin/xformpanel.fbp (rev 0) +++ trunk/wxOgreMVC/bin/xformpanel.fbp 2008-05-03 18:36:47 UTC (rev 2436) @@ -0,0 +1,773 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<wxFormBuilder_Project> + <FileVersion major="1" minor="5" /> + <object class="Project" expanded="1"> + <property name="bitmaps"></property> + <property name="code_generation">C++|XRC</property> + <property name="file"></property> + <property name="first_id">1000</property> + <property name="icons"></property> + <property name="internationalize">0</property> + <property name="name">MyProject1</property> + <property name="path">.</property> + <property name="precompiled_header">wx/wxprec.h</property> + <property name="relative_path">1</property> + <property name="use_enum">0</property> + <property name="use_microsoft_bom">0</property> + <object class="Panel" expanded="1"> + <property name="bg"></property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="maximum_size"></property> + <property name="minimum_size"></property> + <property name="name">xformPanel</property> + <property name="pos"></property> + <property name="size">191,256</property> + <property name="subclass"></property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_style">wxTAB_TRAVERSAL</property> + <event name="OnSize"></event> + <object class="wxBoxSizer" expanded="1"> + <property name="minimum_size"></property> + <property name="name">outerCol</property> + <property name="orient">wxVERTICAL</property> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">1</property> + <object class="wxBoxSizer" expanded="1"> + <property name="minimum_size"></property> + <property name="name">scale</property> + <property name="orient">wxHORIZONTAL</property> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxBitmapButton" expanded="1"> + <property name="bg"></property> + <property name="bitmap">icons\arrow_out.png; Load From File</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">ID_SCL</property> + <property name="maximum_size"></property> + <property name="minimum_size"></property> + <property name="name">tglScale</property> + <property name="permission">protected</property> + <property name="pos"></property> + <property name="size"></property> + <property name="style">wxBU_AUTODRAW</property> + <property name="subclass"></property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_style"></property> + <event name="OnButtonClick"></event> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">1</property> + <object class="wxBoxSizer" expanded="1"> + <property name="minimum_size"></property> + <property name="name">toolRowScl</property> + <property name="orient">wxVERTICAL</property> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">1</property> + <object class="wxBoxSizer" expanded="1"> + <property name="minimum_size"></property> + <property name="name">axisRowSclX</property> + <property name="orient">wxHORIZONTAL</property> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxButton" expanded="1"> + <property name="bg"></property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">ID_SCL_X</property> + <property name="label">X</property> + <property name="maximum_size"></property> + <property name="minimum_size"></property> + <property name="name">btnSclX</property> + <property name="permission">protected</property> + <property name="pos"></property> + <property name="size">30,-1</property> + <property name="style"></property> + <property name="subclass"></property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_style"></property> + <event name="OnButtonClick"></event> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxTextCtrl" expanded="1"> + <property name="bg"></property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="maximum_size"></property> + <property name="maxlength">0</property> + <property name="minimum_size"></property> + <property name="name">txtSclX</property> + <property name="permission">protected</property> + <property name="pos"></property> + <property name="size"></property> + <property name="style">wxTE_PROCESS_ENTER|wxTE_PROCESS_TAB</property> + <property name="subclass"></property> + <property name="tooltip"></property> + <property name="value">1.0</property> + <property name="window_extra_style"></property> + <property name="window_style"></property> + <event name="OnText"></event> + <event name="OnTextEnter"></event> + <event name="OnTextMaxLen"></event> + <event name="OnTextURL"></event> + </object> + </object> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">1</property> + <object class="wxBoxSizer" expanded="1"> + <property name="minimum_size"></property> + <property name="name">axisRowSclY</property> + <property name="orient">wxHORIZONTAL</property> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxButton" expanded="1"> + <property name="bg"></property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">ID_SCL_Y</property> + <property name="label">Y</property> + <property name="maximum_size"></property> + <property name="minimum_size"></property> + <property name="name">btnSclY</property> + <property name="permission">protected</property> + <property name="pos"></property> + <property name="size">30,-1</property> + <property name="style"></property> + <property name="subclass"></property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_style"></property> + <event name="OnButtonClick"></event> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxTextCtrl" expanded="1"> + <property name="bg"></property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="maximum_size"></property> + <property name="maxlength">0</property> + <property name="minimum_size"></property> + <property name="name">txtSclY</property> + <property name="permission">protected</property> + <property name="pos"></property> + <property name="size"></property> + <property name="style">wxTE_PROCESS_ENTER|wxTE_PROCESS_TAB</property> + <property name="subclass"></property> + <property name="tooltip"></property> + <property name="value">1.0</property> + <property name="window_extra_style"></property> + <property name="window_style"></property> + <event name="OnText"></event> + <event name="OnTextEnter"></event> + <event name="OnTextMaxLen"></event> + <event name="OnTextURL"></event> + </object> + </object> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">1</property> + <object class="wxBoxSizer" expanded="1"> + <property name="minimum_size"></property> + <property name="name">axisRowSclZ</property> + <property name="orient">wxHORIZONTAL</property> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxButton" expanded="1"> + <property name="bg"></property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">ID_SCL_Z</property> + <property name="label">Z</property> + <property name="maximum_size"></property> + <property name="minimum_size"></property> + <property name="name">btnSclZ</property> + <property name="permission">protected</property> + <property name="pos"></property> + <property name="size">30,-1</property> + <property name="style"></property> + <property name="subclass"></property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_style"></property> + <event name="OnButtonClick"></event> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxTextCtrl" expanded="1"> + <property name="bg"></property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="maximum_size"></property> + <property name="maxlength">0</property> + <property name="minimum_size"></property> + <property name="name">txtSclZ</property> + <property name="permission">protected</property> + <property name="pos"></property> + <property name="size"></property> + <property name="style">wxTE_PROCESS_ENTER|wxTE_PROCESS_TAB</property> + <property name="subclass"></property> + <property name="tooltip"></property> + <property name="value">1.0</property> + <property name="window_extra_style"></property> + <property name="window_style"></property> + <event name="OnText"></event> + <event name="OnTextEnter"></event> + <event name="OnTextMaxLen"></event> + <event name="OnTextURL"></event> + </object> + </object> + </object> + </object> + </object> + </object> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">1</property> + <object class="wxBoxSizer" expanded="1"> + <property name="minimum_size"></property> + <property name="name">rotate</property> + <property name="orient">wxHORIZONTAL</property> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxBitmapButton" expanded="1"> + <property name="bg"></property> + <property name="bitmap">icons\arrow_rotate_anticlockwise.png; Load From File</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">ID_ROT</property> + <property name="maximum_size"></property> + <property name="minimum_size"></property> + <property name="name">m_bpButton71</property> + <property name="permission">protected</property> + <property name="pos"></property> + <property name="size"></property> + <property name="style">wxBU_AUTODRAW</property> + <property name="subclass"></property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_style"></property> + <event name="OnButtonClick"></event> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">1</property> + <object class="wxBoxSizer" expanded="1"> + <property name="minimum_size"></property> + <property name="name">toolRowRot</property> + <property name="orient">wxVERTICAL</property> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">1</property> + <object class="wxBoxSizer" expanded="1"> + <property name="minimum_size"></property> + <property name="name">axisRowRotX</property> + <property name="orient">wxHORIZONTAL</property> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxButton" expanded="1"> + <property name="bg"></property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">ID_ROT_X</property> + <property name="label">X</property> + <property name="maximum_size"></property> + <property name="minimum_size"></property> + <property name="name">m_button53</property> + <property name="permission">protected</property> + <property name="pos"></property> + <property name="size">30,-1</property> + <property name="style"></property> + <property name="subclass"></property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_style"></property> + <event name="OnButtonClick"></event> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxTextCtrl" expanded="1"> + <property name="bg"></property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="maximum_size"></property> + <property name="maxlength">0</property> + <property name="minimum_size"></property> + <property name="name">m_textCtrl33</property> + <property name="permission">protected</property> + <property name="pos"></property> + <property name="size"></property> + <property name="style">wxTE_PROCESS_ENTER|wxTE_PROCESS_TAB</property> + <property name="subclass"></property> + <property name="tooltip"></property> + <property name="value">0.0</property> + <property name="window_extra_style"></property> + <property name="window_style"></property> + <event name="OnText"></event> + <event name="OnTextEnter"></event> + <event name="OnTextMaxLen"></event> + <event name="OnTextURL"></event> + </object> + </object> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">1</property> + <object class="wxBoxSizer" expanded="1"> + <property name="minimum_size"></property> + <property name="name">axisRowRotY</property> + <property name="orient">wxHORIZONTAL</property> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxButton" expanded="1"> + <property name="bg"></property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">ID_ROT_Y</property> + <property name="label">Y</property> + <property name="maximum_size"></property> + <property name="minimum_size"></property> + <property name="name">m_button511</property> + <property name="permission">protected</property> + <property name="pos"></property> + <property name="size">30,-1</property> + <property name="style"></property> + <property name="subclass"></property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_style"></property> + <event name="OnButtonClick"></event> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxTextCtrl" expanded="1"> + <property name="bg"></property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="maximum_size"></property> + <property name="maxlength">0</property> + <property name="minimum_size"></property> + <property name="name">m_textCtrl311</property> + <property name="permission">protected</property> + <property name="pos"></property> + <property name="size"></property> + <property name="style">wxTE_PROCESS_ENTER|wxTE_PROCESS_TAB</property> + <property name="subclass"></property> + <property name="tooltip"></property> + <property name="value">0.0</property> + <property name="window_extra_style"></property> + <property name="window_style"></property> + <event name="OnText"></event> + <event name="OnTextEnter"></event> + <event name="OnTextMaxLen"></event> + <event name="OnTextURL"></event> + </object> + </object> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">1</property> + <object class="wxBoxSizer" expanded="1"> + <property name="minimum_size"></property> + <property name="name">axisRowRotZ</property> + <property name="orient">wxHORIZONTAL</property> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxButton" expanded="1"> + <property name="bg"></property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">ID_ROT_Z</property> + <property name="label">Z</property> + <property name="maximum_size"></property> + <property name="minimum_size"></property> + <property name="name">m_button521</property> + <property name="permission">protected</property> + <property name="pos"></property> + <property name="size">30,-1</property> + <property name="style"></property> + <property name="subclass"></property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_style"></property> + <event name="OnButtonClick"></event> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxTextCtrl" expanded="1"> + <property name="bg"></property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">wxID_ANY</property> + <property name="maximum_size"></property> + <property name="maxlength">0</property> + <property name="minimum_size"></property> + <property name="name">m_textCtrl321</property> + <property name="permission">protected</property> + <property name="pos"></property> + <property name="size"></property> + <property name="style">wxTE_PROCESS_ENTER|wxTE_PROCESS_TAB</property> + <property name="subclass"></property> + <property name="tooltip"></property> + <property name="value">0.0</property> + <property name="window_extra_style"></property> + <property name="window_style"></property> + <event name="OnText"></event> + <event name="OnTextEnter"></event> + <event name="OnTextMaxLen"></event> + <event name="OnTextURL"></event> + </object> + </object> + </object> + </object> + </object> + </object> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">1</property> + <object class="wxBoxSizer" expanded="1"> + <property name="minimum_size"></property> + <property name="name">scale2</property> + <property name="orient">wxHORIZONTAL</property> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxALL</property> + <property name="proportion">0</property> + <object class="wxBitmapButton" expanded="1"> + <property name="bg"></property> + <property name="bitmap">icons\arrow_right.png; Load From File</property> + <property name="enabled">1</property> + <property name="fg"></property> + <property name="font"></property> + <property name="hidden">0</property> + <property name="id">ID_TRS</property> + <property name="maximum_size"></property> + <property name="minimum_size"></property> + <property name="name">m_bpButton72</property> + <property name="permission">protected</property> + <property name="pos"></property> + <property name="size"></property> + <property name="style">wxBU_AUTODRAW</property> + <property name="subclass"></property> + <property name="tooltip"></property> + <property name="window_extra_style"></property> + <property name="window_style"></property> + <event name="OnButtonClick"></event> + </object> + </object> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">1</property> + <object class="wxBoxSizer" expanded="1"> + <property name="minimum_size"></property> + <property name="name">bSizer112</property> + <property name="orient">wxVERTICAL</property> + <object class="sizeritem" expanded="1"> + <property name="border">5</property> + <property name="flag">wxEXPAND</property> + <property name="proportion">1</property> + <object class="wxBoxSizer" expanded="1"> + <property name="minimum_size"></property> + <pr... [truncated message content] |
From: <ku...@us...> - 2008-05-01 18:00:14
|
Revision: 2433 http://ogreaddons.svn.sourceforge.net/ogreaddons/?rev=2433&view=rev Author: kuranes Date: 2008-05-01 11:00:04 -0700 (Thu, 01 May 2008) Log Message: ----------- - update ceguimeshviewer with ATI TOOTLE 2. (began a tipsify implemntation to finish too...) - re-enabled Marti Skin. Modified Paths: -------------- trunk/ceguimeshviewer/.tm_project.cache trunk/ceguimeshviewer/include/MeshViewerPreRequisites.h trunk/ceguimeshviewer/include/tootle/ogretootle.h trunk/ceguimeshviewer/nsis/CeguiMeshViewer.nsi trunk/ceguimeshviewer/nsis/meshviewer_resources.binary.cfg trunk/ceguimeshviewer/scripts/ceguimeshviewer_vc8_SDK_All.vcproj trunk/ceguimeshviewer/src/MeshViewerApp.cpp trunk/ceguimeshviewer/src/MeshViewerCeguiFrameListener.cpp trunk/ceguimeshviewer/src/MeshViewerMeshInfo.cpp trunk/ceguimeshviewer/src/tootle/ogretootle.cpp Modified: trunk/ceguimeshviewer/.tm_project.cache =================================================================== --- trunk/ceguimeshviewer/.tm_project.cache 2008-05-01 17:57:51 UTC (rev 2432) +++ trunk/ceguimeshviewer/.tm_project.cache 2008-05-01 18:00:04 UTC (rev 2433) @@ -1,134 +1,8 @@ -/home/pablo/Projects/MeshViewer/acconfig.h\xCC262144\xD11109566109\xD41 -ENABLE_NLS\xCC65536\xC91\xCA1\xD2 |
From: <ku...@us...> - 2008-05-01 17:57:45
|
Revision: 2432 http://ogreaddons.svn.sourceforge.net/ogreaddons/?rev=2432&view=rev Author: kuranes Date: 2008-05-01 10:57:51 -0700 (Thu, 01 May 2008) Log Message: ----------- - Re enable Marti Skin on ceguimeshviewer Modified Paths: -------------- trunk/ceguimeshviewer/media/ceguimeshviewer/Marti.looknfeel trunk/ceguimeshviewer/media/ceguimeshviewer/Marti.scheme trunk/ceguimeshviewer/media/ceguimeshviewer/meshviewer.config trunk/ceguimeshviewer/media/ceguimeshviewer/meshviewer.layout Added Paths: ----------- trunk/ceguimeshviewer/media/ceguimeshviewer/MgOpen-10.font trunk/ceguimeshviewer/media/ceguimeshviewer/MgOpen-12.font trunk/ceguimeshviewer/media/ceguimeshviewer/MgOpen-8.font trunk/ceguimeshviewer/media/ceguimeshviewer/MgOpen.license.txt trunk/ceguimeshviewer/media/ceguimeshviewer/MgOpen.ttf Modified: trunk/ceguimeshviewer/media/ceguimeshviewer/Marti.looknfeel =================================================================== --- trunk/ceguimeshviewer/media/ceguimeshviewer/Marti.looknfeel 2008-05-01 14:43:04 UTC (rev 2431) +++ trunk/ceguimeshviewer/media/ceguimeshviewer/Marti.looknfeel 2008-05-01 17:57:51 UTC (rev 2432) @@ -88,7 +88,7 @@ --> <WidgetLook name="Marti/Titlebar"> - <Property name="CaptionColour" value="FFFFFFFF" /> + <PropertyDefinition name="CaptionColour" initialValue="FFFFFFFF" redrawOnWrite="true" /> <Property name="AlwaysOnTop" value="True" /> <ImagerySection name="caption"> <TextComponent> @@ -148,46 +148,96 @@ --> <WidgetLook name="Marti/StaticImage"> + <PropertyDefinition name="ImageColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" /> + <PropertyDefinition name="FrameColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" /> + <PropertyDefinition name="BackgroundColours" initialValue="tl:FFDFDFDF tr:FFDFDFDF bl:FFDFDFDF br:00DFDFDF" redrawOnWrite="true" /> + <PropertyDefinition name="VertFormatting" initialValue="Stretched" redrawOnWrite="true" /> + <PropertyDefinition name="HorzFormatting" initialValue="Stretched" redrawOnWrite="true" /> <Property name="BackgroundEnabled" value="True" /> - <Property name="BackgroundColours" value="tl:FFDFDFDF tr:FFDFDFDF bl:FFDFDFDF br:00DFDFDF" /> <Property name="FrameEnabled" value="False" /> - <NamedArea name="WithFrameImageRenderArea"> - <Area> - <Dim type="LeftEdge"><AbsoluteDim value="4" /></Dim> - <Dim type="TopEdge"><AbsoluteDim value="4" /></Dim> - <Dim type="RightEdge"><UnifiedDim scale="1" offset="-4" type="RightEdge" /></Dim> - <Dim type="BottomEdge"><UnifiedDim scale="1" offset="-4" type="BottomEdge" /></Dim> - </Area> - </NamedArea> - <NamedArea name="NoFrameImageRenderArea"> - <Area> - <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim> - <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim> - <Dim type="RightEdge"><UnifiedDim scale="1" offset="0" type="RightEdge" /></Dim> - <Dim type="BottomEdge"><UnifiedDim scale="1" offset="0" type="BottomEdge" /></Dim> - </Area> - </NamedArea> - <ImagerySection name="Background"> - <ImageryComponent> - <Area> - <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> - <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> - <Dim type="Width" ><UnifiedDim scale="1" offset="0" type="Width" /></Dim> - <Dim type="Height" ><UnifiedDim scale="1" offset="0" type="Height" /></Dim> - </Area> - <Image imageset="Marti" image="GenericBrush" /> - <ColourRectProperty name="BackgroundColours" /> - <VertFormat type="Stretched" /> - <HorzFormat type="Stretched" /> + <NamedArea name="WithFrameImageRenderArea"> + <Area> + <Dim type="LeftEdge"><AbsoluteDim value="4" /></Dim> + <Dim type="TopEdge"><AbsoluteDim value="4" /></Dim> + <Dim type="RightEdge"><UnifiedDim scale="1" offset="-4" type="RightEdge" /></Dim> + <Dim type="BottomEdge"><UnifiedDim scale="1" offset="-4" type="BottomEdge" /></Dim> + </Area> + </NamedArea> + <NamedArea name="NoFrameImageRenderArea"> + <Area> + <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim> + <Dim type="RightEdge"><UnifiedDim scale="1" offset="0" type="RightEdge" /></Dim> + <Dim type="BottomEdge"><UnifiedDim scale="1" offset="0" type="BottomEdge" /></Dim> + </Area> + </NamedArea> + <ImagerySection name="Background"> + <ImageryComponent> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="Width" ><UnifiedDim scale="1" offset="0" type="Width" /></Dim> + <Dim type="Height" ><UnifiedDim scale="1" offset="0" type="Height" /></Dim> + </Area> + <Image imageset="Marti" image="GenericBrush" /> + <ColourRectProperty name="BackgroundColours" /> + <VertFormat type="Stretched" /> + <HorzFormat type="Stretched" /> + </ImageryComponent> + </ImagerySection> + <ImagerySection name="image_withframe"> + <ImageryComponent> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim> + <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim> + </Area> + <ImageProperty name="Image" /> + <ColourRectProperty name="ImageColours" /> + <VertFormatProperty name="VertFormatting" /> + <HorzFormatProperty name="HorzFormatting" /> </ImageryComponent> - </ImagerySection> - <StateImagery name="Enabled" /> + </ImagerySection> + <ImagerySection name="image_noframe"> + <ImageryComponent> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim> + <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim> + </Area> + <ImageProperty name="Image" /> + <ColourRectProperty name="ImageColours" /> + <VertFormatProperty name="VertFormatting" /> + <HorzFormatProperty name="HorzFormatting" /> + </ImageryComponent> + </ImagerySection> + + <StateImagery name="Enabled" /> <StateImagery name="Disabled" /> <StateImagery name="EnabledFrame"> <Layer> <Section look="Marti/Shared" section="FrameBorderOut" /> </Layer> </StateImagery> + + <StateImagery name="NoFrameEnabledBackground"> + <Layer> + <Section section="Background" > + </Section> + </Layer> + </StateImagery> + <StateImagery name="NoFrameDisabledBackground"> + </StateImagery> + <StateImagery name="WithFrameImage"> + <Layer> + <Section look="Marti/Shared" section="FrameBorderOut" /> + </Layer> + </StateImagery> + <StateImagery name="NoFrameImage"> + </StateImagery> + <StateImagery name="DisabledFrame"/> <StateImagery name="EnabledBackground"> <Layer> @@ -205,10 +255,19 @@ --> <WidgetLook name="Marti/Button"> - <Property name="NormalTextColour" value="FFFFFFFF" /> - <Property name="HoverTextColour" value="FFFFFFFF" /> - <Property name="PushedTextColour" value="FFFFFFFF" /> - <Property name="DisabledTextColour" value="FF888888" /> + <PropertyDefinition name="NormalTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" /> + <PropertyDefinition name="HoverTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" /> + <PropertyDefinition name="PushedTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" /> + <PropertyDefinition name="DisabledTextColour" initialValue="FF888888" redrawOnWrite="true" /> + <PropertyDefinition name="VertLabelFormatting" initialValue="CentreAligned" /> + <PropertyDefinition name="HorzLabelFormatting" initialValue="CentreAligned" /> + <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" /> + <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" /> + <Property name="WantsMultiClickEvents" value="False" /> <ImagerySection name="label"> <TextComponent> @@ -271,6 +330,19 @@ *************************************************** --> <WidgetLook name="Marti/CloseButton"> + <PropertyDefinition name="NormalTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" /> + <PropertyDefinition name="HoverTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" /> + <PropertyDefinition name="PushedTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" /> + <PropertyDefinition name="DisabledTextColour" initialValue="FF7F7F7F" redrawOnWrite="true" /> + <PropertyDefinition name="VertLabelFormatting" initialValue="CentreAligned" /> + <PropertyDefinition name="HorzLabelFormatting" initialValue="CentreAligned" /> + <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" /> + <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" /> + <ImagerySection name="IconClose"> <FrameComponent> <Area> @@ -323,10 +395,11 @@ --> <WidgetLook name="Marti/RadioButton"> - <Property name="NormalTextColour" value="FF000000" /> - <Property name="HoverTextColour" value="FF000000" /> - <Property name="PushedTextColour" value="FF000000" /> - <Property name="DisabledTextColour" value="FF888888" /> + <PropertyDefinition name="NormalTextColour" initialValue="FF000000" redrawOnWrite="true" /> + <PropertyDefinition name="HoverTextColour" initialValue="FF000000" redrawOnWrite="true" /> + <PropertyDefinition name="PushedTextColour" initialValue="FF000000" redrawOnWrite="true" /> + <PropertyDefinition name="DisabledTextColour" initialValue="FF888888" redrawOnWrite="true" /> + <ImagerySection name="label"> <TextComponent> <Area> @@ -406,10 +479,11 @@ --> <WidgetLook name="Marti/Checkbox"> - <Property name="NormalTextColour" value="FF000000" /> - <Property name="HoverTextColour" value="FF000000" /> - <Property name="PushedTextColour" value="FF000000" /> - <Property name="DisabledTextColour" value="FF888888" /> + <PropertyDefinition name="NormalTextColour" initialValue="FF000000" redrawOnWrite="true" /> + <PropertyDefinition name="HoverTextColour" initialValue="FF000000" redrawOnWrite="true" /> + <PropertyDefinition name="PushedTextColour" initialValue="FF000000" redrawOnWrite="true" /> + <PropertyDefinition name="DisabledTextColour" initialValue="FF888888" redrawOnWrite="true" /> + <ImagerySection name="label"> <TextComponent> <Area> @@ -606,6 +680,8 @@ --> <WidgetLook name="Marti/FrameWindow"> + <PropertyLinkDefinition name="CaptionColour" widget="__auto_titlebar__" targetProperty="CaptionColour" initialValue="FFFFFFFF" /> + <PropertyLinkDefinition name="TitlebarFont" widget="__auto_titlebar__" targetProperty="Font" /> <Property name="NSSizingCursorImage" value="set:Marti image:MouseNoSoCursor" /> <Property name="EWSizingCursorImage" value="set:Marti image:MouseEsWeCursor" /> <Property name="NWSESizingCursorImage" value="set:Marti image:MouseNwSeCursor" /> @@ -820,13 +896,17 @@ --> <WidgetLook name="Marti/Editbox"> - <PropertyDefinition name="ReadOnlyBGColour" initialValue="FFDFDFDF" /> - <Property name="MouseCursorImage" value="set:Marti image:MouseTextBar" /> - <Property name="NormalTextColour" value="FF000000" /> - <Property name="SelectedTextColour" value="FFFFFFFF" /> - <Property name="ActiveSelectionColour" value="FF607FFF" /> - <Property name="InactiveSelectionColour" value="FF808080" /> - <NamedArea name="TextArea"> + <PropertyDefinition name="NormalTextColour" initialValue="FF000000" redrawOnWrite="true" /> + <PropertyDefinition name="SelectedTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" /> + <PropertyDefinition name="ActiveSelectionColour" initialValue="FF607FFF" redrawOnWrite="true" /> + <PropertyDefinition name="InactiveSelectionColour" initialValue="FF808080" redrawOnWrite="true" /> + + <PropertyDefinition name="ReadOnlyBGColour" initialValue="FFDFDFDF" /> + + <Property name="MouseCursorImage" value="set:Marti image:MouseTextBar" /> + + + <NamedArea name="TextArea"> <Area> <Dim type="LeftEdge" ><AbsoluteDim value="7" /></Dim> <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> @@ -903,10 +983,20 @@ --> <WidgetLook name="Marti/ButtonUp"> - <Property name="NormalTextColour" value="FFAAAAAA" /> - <Property name="HoverTextColour" value="FFCCCCCC" /> - <Property name="PushedTextColour" value="FF999999" /> - <Property name="DisabledTextColour" value="FF888888" /> + <PropertyDefinition name="NormalTextColour" initialValue="FFAAAAAA" redrawOnWrite="true" /> + <PropertyDefinition name="HoverTextColour" initialValue="FFCCCCCC" redrawOnWrite="true" /> + <PropertyDefinition name="PushedTextColour" initialValue="FF999999" redrawOnWrite="true" /> + <PropertyDefinition name="DisabledTextColour" initialValue="FF888888" redrawOnWrite="true" /> + <PropertyDefinition name="VertLabelFormatting" initialValue="CentreAligned" /> + <PropertyDefinition name="HorzLabelFormatting" initialValue="CentreAligned" /> + <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" /> + <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" /> + + <ImagerySection name="IconUpArrow"> <FrameComponent> <Area> @@ -960,10 +1050,6 @@ <WidgetLook name="Marti/VerticalScrollbarThumb"> <Property name="VertFree" value="True" /> - <Property name="NormalTextColour" value="FFAAAAAA" /> - <Property name="HoverTextColour" value="FFCCCCCC" /> - <Property name="PushedTextColour" value="FF999999" /> - <Property name="DisabledTextColour" value="FF888888" /> <ImagerySection name="IconVerticalThumb"> <FrameComponent> <Area> @@ -1016,10 +1102,19 @@ --> <WidgetLook name="Marti/ButtonDown"> - <Property name="NormalTextColour" value="FFAAAAAA" /> - <Property name="HoverTextColour" value="FFCCCCCC" /> - <Property name="PushedTextColour" value="FF999999" /> - <Property name="DisabledTextColour" value="FF888888" /> + <PropertyDefinition name="NormalTextColour" initialValue="FFAAAAAA" redrawOnWrite="true" /> + <PropertyDefinition name="HoverTextColour" initialValue="FFCCCCCC" redrawOnWrite="true" /> + <PropertyDefinition name="PushedTextColour" initialValue="FF999999" redrawOnWrite="true" /> + <PropertyDefinition name="DisabledTextColour" initialValue="FF888888" redrawOnWrite="true" /> + <PropertyDefinition name="VertLabelFormatting" initialValue="CentreAligned" /> + <PropertyDefinition name="HorzLabelFormatting" initialValue="CentreAligned" /> + <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" /> + <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" /> + <ImagerySection name="IconDownArrow"> <FrameComponent> <Area> @@ -1139,10 +1234,20 @@ --> <WidgetLook name="Marti/ButtonLeft"> - <Property name="NormalTextColour" value="FFAAAAAA" /> - <Property name="HoverTextColour" value="FFCCCCCC" /> - <Property name="PushedTextColour" value="FF999999" /> - <Property name="DisabledTextColour" value="FF888888" /> + <PropertyDefinition name="NormalTextColour" initialValue="FFAAAAAA" redrawOnWrite="true" /> + <PropertyDefinition name="HoverTextColour" initialValue="FFCCCCCC" redrawOnWrite="true" /> + <PropertyDefinition name="PushedTextColour" initialValue="FF999999" redrawOnWrite="true" /> + <PropertyDefinition name="DisabledTextColour" initialValue="FF888888" redrawOnWrite="true" /> + <PropertyDefinition name="VertLabelFormatting" initialValue="CentreAligned" /> + <PropertyDefinition name="HorzLabelFormatting" initialValue="CentreAligned" /> + <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" /> + <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" /> + + <ImagerySection name="IconLeftArrow"> <FrameComponent> <Area> @@ -1197,10 +1302,7 @@ <WidgetLook name="Marti/HorizontalScrollbarThumb"> <Property name="HorzFree" value="True" /> - <Property name="NormalTextColour" value="FFAAAAAA" /> - <Property name="HoverTextColour" value="FFCCCCCC" /> - <Property name="PushedTextColour" value="FF999999" /> - <Property name="DisabledTextColour" value="FF888888" /> + <ImagerySection name="IconHorizontalThumb"> <FrameComponent> <Area> @@ -1253,10 +1355,19 @@ --> <WidgetLook name="Marti/ButtonRight"> - <Property name="NormalTextColour" value="FFAAAAAA" /> - <Property name="HoverTextColour" value="FFCCCCCC" /> - <Property name="PushedTextColour" value="FF999999" /> - <Property name="DisabledTextColour" value="FF888888" /> + <PropertyDefinition name="NormalTextColour" initialValue="FFAAAAAA" redrawOnWrite="true" /> + <PropertyDefinition name="HoverTextColour" initialValue="FFCCCCCC" redrawOnWrite="true" /> + <PropertyDefinition name="PushedTextColour" initialValue="FF999999" redrawOnWrite="true" /> + <PropertyDefinition name="DisabledTextColour" initialValue="FF888888" redrawOnWrite="true" /> + <PropertyDefinition name="VertLabelFormatting" initialValue="CentreAligned" /> + <PropertyDefinition name="HorzLabelFormatting" initialValue="CentreAligned" /> + <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" /> + <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" /> + <ImagerySection name="IconRightArrow"> <FrameComponent> <Area> @@ -1386,7 +1497,7 @@ <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim> </Area> </Child> - <Child type="Marti/IconButton" nameSuffix="__auto_incbtn__"> + <Child type="Marti/ImageButton" nameSuffix="__auto_incbtn__"> <Area> <Dim type="LeftEdge" ><UnifiedDim scale="0.0" offset="0" type="LeftEdge" /></Dim> <Dim type="TopEdge" ><AbsoluteDim value="3" /></Dim> @@ -1394,9 +1505,13 @@ <Dim type="Height" ><UnifiedDim scale="0.3" type="Height" /></Dim> </Area> <HorzAlignment type="RightAligned" /> - <Property name="IconImage" value="set:Marti image:IconUpArrow" /> + + <Property name="NormalImage" value="set:Marti image:IconUpArrow" /> + <Property name="HoverImage" value="set:Marti image:IconUpArrow" /> + <Property name="PushedImage" value="set:Marti image:IconUpArrow" /> + </Child> - <Child type="Marti/IconButton" nameSuffix="__auto_decbtn__"> + <Child type="Marti/ImageButton" nameSuffix="__auto_decbtn__"> <Area> <Dim type="LeftEdge" ><UnifiedDim scale="0.0" offset="0" type="LeftEdge" /></Dim> <Dim type="TopEdge" ><UnifiedDim scale="0.5" offset="-3" type="TopEdge" /></Dim> @@ -1404,7 +1519,9 @@ <Dim type="Height" ><UnifiedDim scale="0.3" type="Height" /></Dim> </Area> <HorzAlignment type="RightAligned" /> - <Property name="IconImage" value="set:Marti image:IconDownArrow" /> + <Property name="NormalImage" value="set:Marti image:IconDownArrow" /> + <Property name="HoverImage" value="set:Marti image:IconDownArrow" /> + <Property name="PushedImage" value="set:Marti image:IconDownArrow" /> </Child> <StateImagery name="Enabled" /> <StateImagery name="Disabled" /> @@ -1416,9 +1533,12 @@ Marti/StaticText *************************************************** --> - +<!-- <WidgetLook name="Marti/StaticText"> - <Property name="BackgroundEnabled" value="True" /> + <PropertyDefinition name="FrameColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" /> + <PropertyDefinition name="BackgroundColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" /> + + <Property name="BackgroundEnabled" value="True" /> <Property name="FrameEnabled" value="True" /> <NamedArea name="TextRenderArea"> <Area> @@ -1471,7 +1591,164 @@ </StateImagery> <StateImagery name="DisabledBackground" /> </WidgetLook> - +--> + <WidgetLook name="Marti/StaticText"> + <PropertyDefinition name="FrameColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" /> + <PropertyDefinition name="BackgroundColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" /> + <Property name="FrameEnabled" value="True" /> + <Property name="BackgroundEnabled" value="True" /> + <NamedArea name="WithFrameTextRenderArea"> + <Area> + <Dim type="LeftEdge"><AbsoluteDim value="8" /></Dim> + <Dim type="TopEdge"><AbsoluteDim value="0" /></Dim> + <Dim type="RightEdge"><UnifiedDim scale="1" offset="-8" type="RightEdge" /></Dim> + <Dim type="BottomEdge"><UnifiedDim scale="1" offset="0" type="BottomEdge" /></Dim> + </Area> + </NamedArea> + <NamedArea name="WithFrameTextRenderAreaHScroll"> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="Width" ><UnifiedDim scale="1" offset="-20" type="Width" /></Dim> + <Dim type="Height" ><AbsoluteDim value="20" /></Dim> + </Area> + </NamedArea> + <NamedArea name="WithFrameTextRenderAreaVScroll"> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="Width" ><AbsoluteDim value="20" /></Dim> + <Dim type="Height" ><UnifiedDim scale="1" offset="-20" type="Height" /></Dim> + </Area> + </NamedArea> + <NamedArea name="WithFrameTextRenderAreaHVScroll"> + <Area> + <Dim type="LeftEdge" ><ImageDim imageset="Marti" image="StaticLeft" dimension="Width" /></Dim> + <Dim type="TopEdge" ><ImageDim imageset="Marti" image="StaticTop" dimension="Height" /></Dim> + <Dim type="RightEdge" > + <UnifiedDim scale="1" type="RightEdge"> + <DimOperator op="Subtract"> + <WidgetDim widget="__auto_vscrollbar__" dimension="Width" /> + </DimOperator> + </UnifiedDim> + </Dim> + <Dim type="BottomEdge" > + <UnifiedDim scale="1" type="BottomEdge"> + <DimOperator op="Subtract"> + <WidgetDim widget="__auto_hscrollbar__" dimension="Height" /> + </DimOperator> + </UnifiedDim> + </Dim> + </Area> + </NamedArea> + <NamedArea name="NoFrameTextRenderArea"> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="RightEdge" ><UnifiedDim scale="1" type="RightEdge" /></Dim> + <Dim type="BottomEdge" ><UnifiedDim scale="1" type="BottomEdge" /></Dim> + </Area> + </NamedArea> + <NamedArea name="NoFrameTextRenderAreaHScroll"> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="RightEdge" ><UnifiedDim scale="1" type="RightEdge" /></Dim> + <Dim type="BottomEdge" > + <UnifiedDim scale="1" type="BottomEdge"> + <DimOperator op="Subtract"> + <WidgetDim widget="__auto_hscrollbar__" dimension="Height" /> + </DimOperator> + </UnifiedDim> + </Dim> + </Area> + </NamedArea> + <NamedArea name="NoFrameTextRenderAreaVScroll"> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="RightEdge" > + <UnifiedDim scale="1" type="RightEdge"> + <DimOperator op="Subtract"> + <WidgetDim widget="__auto_vscrollbar__" dimension="Width" /> + </DimOperator> + </UnifiedDim> + </Dim> + <Dim type="BottomEdge" ><UnifiedDim scale="1" type="BottomEdge" /></Dim> + </Area> + </NamedArea> + <NamedArea name="NoFrameTextRenderAreaHVScroll"> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="RightEdge" > + <UnifiedDim scale="1" type="RightEdge"> + <DimOperator op="Subtract"> + <WidgetDim widget="__auto_vscrollbar__" dimension="Width" /> + </DimOperator> + </UnifiedDim> + </Dim> + <Dim type="BottomEdge" > + <UnifiedDim scale="1" type="BottomEdge"> + <DimOperator op="Subtract"> + <WidgetDim widget="__auto_hscrollbar__" dimension="Height" /> + </DimOperator> + </UnifiedDim> + </Dim> + </Area> + </NamedArea> + <Child type="Marti/HorizontalScrollbar" nameSuffix="__auto_hscrollbar__"> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="Width" ><UnifiedDim scale="1" offset="-12" type="Width" /></Dim> + <Dim type="Height" ><AbsoluteDim value="12" /></Dim> + </Area> + <VertAlignment type="BottomAligned" /> + </Child> + <Child type="Marti/VerticalScrollbar" nameSuffix="__auto_vscrollbar__"> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="Width" ><AbsoluteDim value="12" /></Dim> + <Dim type="Height" ><UnifiedDim scale="1" offset="-12" type="Height" /></Dim> + </Area> + <HorzAlignment type="RightAligned" /> + </Child> + <StateImagery name="Enabled" /> + <StateImagery name="Disabled" /> + <StateImagery name="EnabledFrame"> + <Layer> + <Section look="Marti/Shared" section="FrameBorderIn" /> + </Layer> + </StateImagery> + <StateImagery name="DisabledFrame"> + <Layer> + <Section look="Marti/Shared" section="FrameBorderIn" /> + </Layer> + </StateImagery> + <StateImagery name="WithFrameEnabledBackground"> + <Layer> + <Section look="Marti/Shared" section="BackgroundOnly" /> + </Layer> + </StateImagery> + <StateImagery name="WithFrameDisabledBackground"> + <Layer> + <Section look="Marti/Shared" section="BackgroundOnly" /> + </Layer> + </StateImagery> + <StateImagery name="NoFrameEnabledBackground"> + <Layer> + <Section look="Marti/Shared" section="BackgroundOnly" /> + </Layer> + </StateImagery> + <StateImagery name="NoFrameDisabledBackground"> + <Layer> + <Section look="Marti/Shared" section="BackgroundOnly" /> + </Layer> + </StateImagery> + </WidgetLook> + <!-- *************************************************** Marti/Listbox @@ -1891,8 +2168,12 @@ *************************************************** --> <WidgetLook name="Marti/Menubar"> - <Property name="BackgroundColours" value="tl:FFAAAAAA tr:FFAAAAAA bl:FFAAAAAA br:FFAAAAAA" /> + + <PropertyDefinition name="BackgroundColours" initialValue="tl:FFAAAAAA tr:FFAAAAAA bl:FFAAAAAA br:FFAAAAAA" redrawOnWrite="true" /> + <PropertyDefinition name="BorderWidth" initialValue="5" layoutOnWrite="true" /> + <Property name="AlwaysOnTop" value="True" /> + <NamedArea name="ItemRenderArea"> <Area> <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> @@ -1940,11 +2221,14 @@ *************************************************** --> <WidgetLook name="Marti/MenuItem"> - <Property name="NormalTextColour" value="FF000000" /> - <Property name="DisabledTextColour" value="FF7F7F7F" /> - <Property name="HoverColour" value="FFA7C7FF" /> - <Property name="PushedColour" value="FF87A7DF" /> - <Property name="OpenedColour" value="FFEFEFEF" /> + <PropertyDefinition name="NormalTextColour" initialValue="FF000000" redrawOnWrite="true" /> + <PropertyDefinition name="DisabledTextColour" initialValue="FF7F7F7F" redrawOnWrite="true" /> + <PropertyDefinition name="HoverColour" initialValue="FFA7C7FF" redrawOnWrite="true" /> + <PropertyDefinition name="PushedColour" initialValue="FF87A7DF" redrawOnWrite="true" /> + <PropertyDefinition name="OpenedColour" initialValue="FFEFEFEF" redrawOnWrite="true" /> + + <Property name="WantsMultiClickEvents" value="False" /> + <ImagerySection name="label"> <TextComponent> <Area> @@ -2094,7 +2378,10 @@ *************************************************** --> <WidgetLook name="Marti/PopupMenu"> - <Property name="BackgroundColours" value="tl:FFAAAAAA tr:FFAAAAAA bl:FFAAAAAA br:FFAAAAAA" /> + + <PropertyDefinition name="BackgroundColours" initialValue="tl:FFAAAAAA tr:FFAAAAAA bl:FFAAAAAA br:FFAAAAAA" redrawOnWrite="true" /> + <PropertyDefinition name="BorderWidth" initialValue="0" layoutOnWrite="true" /> + <NamedArea name="ItemRenderArea"> <Area> <Dim type="LeftEdge" ><ImageDim imageset="Marti" image="FrameBorderOutLeft" dimension="Width" /></Dim> @@ -2258,7 +2545,11 @@ *************************************************** --> <WidgetLook name="Marti/Combobox"> - <Child type="Marti/Editbox" nameSuffix="__auto_editbox__"> + <PropertyLinkDefinition name="NormalEditTextColour" widget="__auto_editbox__" targetProperty="NormalTextColour" initialValue="FFFFFFFF" /> + <PropertyLinkDefinition name="SelectedEditTextColour" widget="__auto_editbox__" targetProperty="SelectedTextColour" initialValue="FF000000" /> + <PropertyLinkDefinition name="ActiveEditSelectionColour" widget="__auto_editbox__" targetProperty="ActiveSelectionColour" initialValue="FF6060FF" /> + <PropertyLinkDefinition name="InactiveEditSelectionColour" widget="__auto_editbox__" targetProperty="InactiveSelectionColour" initialValue="FF808080" /> + <Child type="Marti/Editbox" nameSuffix="__auto_editbox__"> <Area> <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> @@ -2306,7 +2597,7 @@ <Dim type="BottomEdge" ><UnifiedDim scale="1" type="BottomEdge" /></Dim> </Area> </Child> - <Child type="Marti/IconButton" nameSuffix="__auto_button__"> + <Child type="Marti/ImageButton" nameSuffix="__auto_button__"> <Area> <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> @@ -2314,7 +2605,9 @@ <Dim type="Height" ><WidgetDim widget="__auto_editbox__" dimension="Height" /></Dim> </Area> <HorzAlignment type="RightAligned" /> - <Property name="IconImage" value="set:Marti image:IconDownArrow" /> + <Property name="NormalImage" value="set:Marti image:IconDownArrow" /> + <Property name="HoverImage" value="set:Marti image:IconDownArrow" /> + <Property name="PushedImage" value="set:Marti image:IconDownArrow" /> </Child> <StateImagery name="Enabled" /> <StateImagery name="Disabled" /> @@ -2327,11 +2620,12 @@ --> <WidgetLook name="Marti/MultiLineEditbox"> + <PropertyDefinition name="NormalTextColour" initialValue="FF000000" redrawOnWrite="true" /> + <PropertyDefinition name="SelectedTextColour" initialValue="FFFFFFFF" redrawOnWrite="true" /> + <PropertyDefinition name="ActiveSelectionColour" initialValue="FF607FFF" redrawOnWrite="true" /> + <PropertyDefinition name="InactiveSelectionColour" initialValue="FF808080" redrawOnWrite="true" /> <Property name="SelectionBrushImage" value="set:Marti image:GenericBrush" /> - <Property name="NormalTextColour" value="FF000000" /> - <Property name="SelectedTextColour" value="FFFFFFFF" /> - <Property name="ActiveSelectionColour" value="FF607FFF" /> - <Property name="InactiveSelectionColour" value="FF808080" /> + <NamedArea name="TextArea"> <Area> <Dim type="LeftEdge" ><ImageDim imageset="Marti" image="FrameBorderInLeft" dimension="Width" /></Dim> @@ -2407,10 +2701,12 @@ *************************************************** --> <WidgetLook name="Marti/TabButton"> - <Property name="NormalTextColour" value="FF000000" /> - <Property name="HoverTextColour" value="FF000000" /> - <Property name="PushedTextColour" value="FF000000" /> - <Property name="DisabledTextColour" value="FF888888" /> + <PropertyDefinition name="NormalTextColour" initialValue="FF000000" redrawOnWrite="true" /> + <PropertyDefinition name="HoverTextColour" initialValue="FF000000" redrawOnWrite="true" /> + <PropertyDefinition name="PushedTextColour" initialValue="FF000000" redrawOnWrite="true" /> + <PropertyDefinition name="SelectedTextColour" initialValue="FFE0E0E0" redrawOnWrite="true" /> + <PropertyDefinition name="DisabledTextColour" initialValue="FF888888" redrawOnWrite="true" /> + <ImagerySection name="label"> <TextComponent> <Area> @@ -2423,13 +2719,13 @@ <HorzFormat type="CentreAligned" /> </TextComponent> </ImagerySection> - <ImagerySection name="normal"> + <ImagerySection name="top_normal"> <FrameComponent> <Area> - <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> - <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> - <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim> - <Dim type="Height" ><UnifiedDim scale="1" offset="0" type="Height" /></Dim> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim> + <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim> </Area> <Image type="TopLeftCorner" imageset="Marti" image="TabButtonUpperLeftNormal" /> <Image type="TopRightCorner" imageset="Marti" image="TabButtonUpperRightNormal" /> @@ -2442,9 +2738,85 @@ <Image type="Background" imageset="Marti" image="GenericBrush" /> </FrameComponent> </ImagerySection> - <ImagerySection name="selected"> + <ImagerySection name="bot_normal"> + <FrameComponent> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim> + <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim> + </Area> + <Image type="TopLeftCorner" imageset="Marti" image="TabButtonUpperLeftNormal" /> + <Image type="TopRightCorner" imageset="Marti" image="TabButtonUpperRightNormal" /> + <Image type="BottomLeftCorner" imageset="Marti" image="TabButtonLowerLeftNormal" /> + <Image type="BottomRightCorner" imageset="Marti" image="TabButtonLowerRightNormal" /> + <Image type="LeftEdge" imageset="Marti" image="TabButtonLeftNormal" /> + <Image type="RightEdge" imageset="Marti" image="TabButtonRightNormal" /> + <Image type="TopEdge" imageset="Marti" image="TabButtonUpperNormal" /> + <Image type="BottomEdge" imageset="Marti" image="TabButtonLowerNormal" /> + <Image type="Background" imageset="Marti" image="GenericBrush" /> + </FrameComponent> + </ImagerySection> + <ImagerySection name="top_hover"> + <FrameComponent> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim> + <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim> + </Area> + <Image type="TopLeftCorner" imageset="Marti" image="TabButtonUpperLeftNormal" /> + <Image type="TopRightCorner" imageset="Marti" image="TabButtonUpperRightNormal" /> + <Image type="BottomLeftCorner" imageset="Marti" image="TabButtonLowerLeftNormal" /> + <Image type="BottomRightCorner" imageset="Marti" image="TabButtonLowerRightNormal" /> + <Image type="LeftEdge" imageset="Marti" image="TabButtonLeftNormal" /> + <Image type="RightEdge" imageset="Marti" image="TabButtonRightNormal" /> + <Image type="TopEdge" imageset="Marti" image="TabButtonUpperNormal" /> + <Image type="BottomEdge" imageset="Marti" image="TabButtonLowerNormal" /> + <Image type="Background" imageset="Marti" image="GenericBrush" /> + </FrameComponent> + </ImagerySection> + <ImagerySection name="bot_hover"> <FrameComponent> <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim> + <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim> + </Area> + <Image type="TopLeftCorner" imageset="Marti" image="TabButtonUpperLeftNormal" /> + <Image type="TopRightCorner" imageset="Marti" image="TabButtonUpperRightNormal" /> + <Image type="BottomLeftCorner" imageset="Marti" image="TabButtonLowerLeftNormal" /> + <Image type="BottomRightCorner" imageset="Marti" image="TabButtonLowerRightNormal" /> + <Image type="LeftEdge" imageset="Marti" image="TabButtonLeftNormal" /> + <Image type="RightEdge" imageset="Marti" image="TabButtonRightNormal" /> + <Image type="TopEdge" imageset="Marti" image="TabButtonUpperNormal" /> + <Image type="BottomEdge" imageset="Marti" image="TabButtonLowerNormal" /> + <Image type="Background" imageset="Marti" image="GenericBrush" /> + </FrameComponent> + </ImagerySection> + <ImagerySection name="top_selected"> + <FrameComponent> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim> + <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim> + </Area> + <Image type="TopLeftCorner" imageset="Marti" image="TabButtonUpperLeftNormal" /> + <Image type="TopRightCorner" imageset="Marti" image="TabButtonUpperRightNormal" /> + <Image type="BottomLeftCorner" imageset="Marti" image="TabButtonLowerLeftNormal" /> + <Image type="BottomRightCorner" imageset="Marti" image="TabButtonLowerRightNormal" /> + <Image type="LeftEdge" imageset="Marti" image="TabButtonLeftNormal" /> + <Image type="RightEdge" imageset="Marti" image="TabButtonRightNormal" /> + <Image type="TopEdge" imageset="Marti" image="TabButtonUpperNormal" /> + <Image type="BottomEdge" imageset="Marti" image="TabButtonLowerNormal" /> + <Image type="Background" imageset="Marti" image="GenericBrush" /> + </FrameComponent> + </ImagerySection> + <ImagerySection name="bot_selected"> + <FrameComponent> + <Area> <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim> @@ -2461,34 +2833,82 @@ <Image type="Background" imageset="Marti" image="GenericBrush" /> </FrameComponent> </ImagerySection> - <StateImagery name="Normal"> + <StateImagery name="TopNormal"> <Layer> - <Section section="normal" /> + <Section section="top_normal" /> <Section section="label"> <ColourProperty name="NormalTextColour" /> </Section> </Layer> </StateImagery> - <StateImagery name="Hover"> + <StateImagery name="BottomNormal"> <Layer> - <Section section="selected" /> + <Section section="bot_normal" /> <Section section="label"> + <ColourProperty name="NormalTextColour" /> + </Section> + </Layer> + </StateImagery> + <StateImagery name="TopHover"> + <Layer> + <Section section="top_hover" /> + <Section section="label"> + <ColourProperty name="NormalTextColour" /> + </Section> + </Layer> + </StateImagery> + <StateImagery name="BottomHover"> + <Layer> + <Section section="bot_hover" /> + <Section section="label"> <ColourProperty name="HoverTextColour" /> </Section> </Layer> </StateImagery> - <StateImagery name="Selected"> + <StateImagery name="TopSelected"> <Layer> - <Section section="selected" /> + <Section section="top_selected" /> <Section section="label"> + <ColourProperty name="HoverTextColour" /> + </Section> + </Layer> + </StateImagery> + <StateImagery name="BottomSelected"> + <Layer> + <Section section="bot_selected" /> + <Section section="label"> + <ColourProperty name="SelectedTextColour" /> + </Section> + </Layer> + </StateImagery> + <StateImagery name="TopPushed"> + <Layer> + <Section section="top_normal" /> + <Section section="label"> + <ColourProperty name="PushedTextColour" /> + </Section> + </Layer> + </StateImagery> + <StateImagery name="BottomPushed"> + <Layer> + <Section section="bot_normal" /> + <Section section="label"> <ColourProperty name="PushedTextColour" /> </Section> </Layer> </StateImagery> - <StateImagery name="Disabled"> + <StateImagery name="TopDisabled"> <Layer> - <Section section="normal" /> + <Section section="top_normal" /> <Section section="label"> + <ColourProperty name="PushedTextColour" /> + </Section> + </Layer> + </StateImagery> + <StateImagery name="BottomDisabled"> + <Layer> + <Section section="bot_normal" /> + <Section section="label"> <ColourProperty name="DisabledTextColour" /> </Section> </Layer> @@ -2496,13 +2916,97 @@ </WidgetLook> + <!-- + *************************************************** + Marti/TabButtonPane + *************************************************** + --> + <WidgetLook name="Marti/TabButtonPane"> + <PropertyDefinition name="EnableTop" initialValue="1" redrawOnWrite="true" layoutOnwrite="true" /> + <PropertyDefinition name="EnableBottom" initialValue="1" redrawOnWrite="true" layoutOnwrite="true" /> + <ImagerySection name="normal"> + <FrameComponent> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim> + <Dim type="BottomEdge" > + <ImageDim imageset="Marti" image="TabControlButtonPaneFiller" dimension="Height"> + <DimOperator op="Multiply"> + <PropertyDim name="EnableTop" /> + </DimOperator> + </ImageDim> + </Dim> + </Area> + <Image type="TopEdge" imageset="Marti" image="TabControlButtonPaneFiller" /> + </FrameComponent> + <FrameComponent> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" > + <ImageDim imageset="Marti" image="TabControlButtonPaneFiller" dimension="Height"> + <DimOperator op="Multiply"> + <PropertyDim name="EnableTop" /> + </DimOperator> + </ImageDim> + </Dim> + <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim> + <Dim type="BottomEdge" > + <UnifiedDim scale="1" type="Height"> + <DimOperator op="Subtract"> + <ImageDim imageset="Marti" image="TabControlButtonPaneFiller" dimension="Height"> + <DimOperator op="Multiply"> + <PropertyDim name="EnableBottom" /> + </DimOperator> + </ImageDim> + </DimOperator> + </UnifiedDim> + </Dim> + </Area> + </FrameComponent> + <FrameComponent> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" > + <UnifiedDim scale="1" type="Height"> + <DimOperator op="Subtract"> + <ImageDim imageset="Marti" image="TabControlButtonPaneFiller" dimension="Height"> + <DimOperator op="Multiply"> + <PropertyDim name="EnableBottom" /> + </DimOperator> + </ImageDim> + </DimOperator> + </UnifiedDim> + </Dim> + <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim> + <Dim type="BottomEdge" ><UnifiedDim scale="1" type="Height" /></Dim> + </Area> + <Image type="BottomEdge" imageset="Marti" image="TabControlButtonPaneFiller" /> + </FrameComponent> + </ImagerySection> + <StateImagery name="Enabled"> + <Layer> + <Section section="normal" /> + </Layer> + </StateImagery> + <StateImagery name="Disabled"> + <Layer> + <Section section="normal"> + <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" /> + </Section> + </Layer> + </StateImagery> + </WidgetLook> + <!-- *************************************************** Marti/TabPane *************************************************** --> <WidgetLook name="Marti/TabPane"> - <ImagerySection name="normal"> + <PropertyDefinition name="EnableTop" initialValue="0" redrawOnWrite="true" layoutOnwrite="true" /> + <PropertyDefinition name="EnableBottom" initialValue="0" redrawOnWrite="true" layoutOnwrite="true" /> + <ImagerySection name="normal"> <FrameComponent> <Area> <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> @@ -2539,21 +3043,46 @@ --> <WidgetLook name="Marti/TabControl"> <Property name="TabButtonType" value="Marti/TabButton" /> + <Property name="TabTextPadding" value="{0,6}" /> + + <Property name="TabButtonType" value="Marti/TabButton" /> <Child type="Marti/TabPane" nameSuffix="__auto_TabPane__"> <Area> - <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> - <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> - <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim> - <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim> - </Area> + <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim> + <Dim type="RightEdge"><UnifiedDim scale="1" type="Width" /></Dim> + <Dim type="TopEdge"> + <PropertyDim widget="__auto_TabPane__" name="EnableBottom"> + <DimOperator op="Multiply"> + <PropertyDim name="TabHeight" type="Height" /> + </DimOperator> + </PropertyDim> + </Dim> + <Dim type="Height"> + <UnifiedDim scale="1" type="Height"> + <DimOperator op="Subtract"> + <PropertyDim name="TabHeight" type="Height" /> + </DimOperator> + </UnifiedDim> + </Dim> + </Area> </Child> - <Child type="DefaultWindow" nameSuffix="__auto_TabPane__Buttons"> + <Child type="Marti/TabButtonPane" nameSuffix="__auto_TabPane__Buttons"> <Area> - <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> - <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> - <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim> - <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim> - </Area> + <Dim type="LeftEdge"><AbsoluteDim value="0" /></Dim> + <Dim type="RightEdge"><UnifiedDim scale="1" type="Width" /></Dim> + <Dim type="TopEdge"> + <PropertyDim widget="__auto_TabPane__Buttons" name="EnableTop"> + <DimOperator op="Multiply"> + <UnifiedDim scale="1" type="Height"> + <DimOperator op="Subtract"> + <PropertyDim name="TabHeight" type="Height" /> + </DimOperator> + </UnifiedDim> + </DimOperator> + </PropertyDim> + </Dim> + <Dim type="Height"><PropertyDim name="TabHeight" type="Height" /></Dim> + </Area> </Child> <StateImagery name="Enabled" /> <StateImagery name="Disabled" /> @@ -2655,14 +3184,108 @@ <!-- *************************************************** - Marti/IconButton + Marti/ImageButton *************************************************** --> - <WidgetLook name="Marti/IconButton"> - <PropertyDefinition name="IconImage" redrawOnWrite="true" /> - <!--PropertyDefinition name="IconColours" initialValue="tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF" redrawOnWrite="true" /--> + <WidgetLook name="Marti/ImageButton"> + <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" /> + <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" /> + <ImagerySection name="normal"> + <ImageryComponent> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim> + <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim> + </Area> + <ImageProperty name="NormalImage" /> + <VertFormatProperty name="VertImageFormatting" /> + <HorzFormatProperty name="HorzImageFormatting" /> + </ImageryComponent> + </ImagerySection> + <ImagerySection name="hover"> + <ImageryComponent> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim> + <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim> + </Area> + <ImageProperty name="HoverImage" /> + <VertFormatProperty name="VertImageFormatting" /> + <HorzFormatProperty name="HorzImageFormatting" /> + </ImageryComponent> + </ImagerySection> + <ImagerySection name="pushed"> + <ImageryComponent> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim> + <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim> + </Area> + <ImageProperty name="PushedImage" /> + <VertFormatProperty name="VertImageFormatting" /> + <HorzFormatProperty name="HorzImageFormatting" /> + </ImageryComponent> + </ImagerySection> + <ImagerySection name="disabled"> + <ImageryComponent> + <Area> + <Dim type="LeftEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="TopEdge" ><AbsoluteDim value="0" /></Dim> + <Dim type="Width" ><UnifiedDim scale="1" type="Width" /></Dim> + <Dim type="Height" ><UnifiedDim scale="1" type="Height" /></Dim> + </Area> + <ImageProperty name="DisabledImage" /> + <VertFormatProperty name="VertImageFormatting" /> + <HorzFormatProperty name="HorzImageFormatting" /> + </ImageryComponent> + </ImagerySection> + <StateImagery name="Normal"> + <Layer> + <Section section="normal" /> + </Layer> + </StateImagery> + <StateImagery name="Hover"> + <Layer> + <Section section="hover" /> + </Layer> + </StateImagery> + <StateImagery name="Pushed"> + <Layer> + <Section section="pushed" /> + </Layer> + </StateImagery> + <StateImagery name="PushedOff"> + <Layer> + <Section section="hover" /> + </Layer> + </StateImagery> + <StateImagery name="Disabled"> + <Layer> + <Section section="disabled" /> + </Layer> + </StateImagery> + </WidgetLook> + + <!-- + <WidgetLook name="Marti/ImageButton"> + + <PropertyDefinition name="NormalImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="HoverImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="PushedImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="DisabledImage" initialValue="" redrawOnWrite="true" /> + <PropertyDefinition name="VertImageFormatting" initialValue="Stretched" redrawOnWrite="true" /> + <PropertyDefinition name="HorzImageFormatting" initialValue="Stretched" redrawOnWrite="true" /> + <Property name="WantsMultiClickEvents" value="False" /> + <ImagerySection name="icon"> <ImageryComponent> <Area> @@ -2672,19 +3295,17 @@ <Dim type="BottomEdge"><UnifiedDim scale="1" offset="0" type="BottomEdge" /></Dim> </Area> <ImageProperty name="IconImage" /> - <!--ColourRectProperty name="IconColours" /--> <VertFormat type="CentreAligned" /> <HorzFormat type="CentreAligned" /> </ImageryComponent> </ImagerySection> + <StateImagery name="Normal"> <Layer> - <!--Section look="Marti/Shared" section="BackgroundOnly"/> - <Colours topLeft="FF7F7F7F" topRight="FF7F7F7F" bottomLeft="FF7F7F7F" bottomRight="FF7F7F7F" /> - </Section--> <Section section="icon" /> </Layer> </StateImagery> + <StateImagery name="Hover"> <Layer> <Section look="Marti/Shared" section="BackgroundOnly"> @@ -2693,6 +3314,7 @@ <Section section="icon" /> </Layer> </StateImagery> + <StateImagery name="Pushed"> <Layer> <Section look="Marti/Shared" section="BackgroundOnly"> @@ -2710,5 +3332,6 @@ </Layer> </StateImagery> </WidgetLook> + --> </Falagard> Modified: trunk/ceguimeshviewer/media/ceguimeshviewer/Marti.scheme ===================================================================... [truncated message content] |
From: <ku...@us...> - 2008-05-01 14:43:15
|
Revision: 2431 http://ogreaddons.svn.sourceforge.net/ogreaddons/?rev=2431&view=rev Author: kuranes Date: 2008-05-01 07:43:04 -0700 (Thu, 01 May 2008) Log Message: ----------- - Fix infinite Ogre Ode debug ray length spotted by cloud9 Modified Paths: -------------- trunk/ogreode/demos/GranTurismOgre/scripts/VC8/Demo_GranTurismOgre_SDK.vcproj trunk/ogreode/demos/Landscape/scripts/VC8/Demo_Landscape_SDK.vcproj trunk/ogreode/demos/Landscape/src/Landscape.cpp trunk/ogreode/demos/SimpleScenes/include/SimpleScenes_Zombie.h trunk/ogreode/demos/SimpleScenes/scripts/VC8/Demo_SimpleScenes_SDK.vcproj trunk/ogreode/scripts/VC8/OgreOde_SDK.suo trunk/ogreode/src/OgreOdeDebugObject.cpp Modified: trunk/ogreode/demos/GranTurismOgre/scripts/VC8/Demo_GranTurismOgre_SDK.vcproj =================================================================== --- trunk/ogreode/demos/GranTurismOgre/scripts/VC8/Demo_GranTurismOgre_SDK.vcproj 2008-04-30 01:09:45 UTC (rev 2430) +++ trunk/ogreode/demos/GranTurismOgre/scripts/VC8/Demo_GranTurismOgre_SDK.vcproj 2008-05-01 14:43:04 UTC (rev 2431) @@ -1,220 +1,221 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="8,00" - Name="Demo_GranTurismOgre" - ProjectGUID="{292C4A04-E960-44A3-A6EA-83881C176135}" - Keyword="Win32Proj" - > - <Platforms> - <Platform - Name="Win32" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory="..\..\bin\$(ConfigurationName)" - IntermediateDirectory="..\..\obj\$(ConfigurationName)" - ConfigurationType="1" - InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="..\..\include;..\..\..\..\include;..\..\..\..\loader\include;..\..\..\..\prefab\include;"$(ODE_HOME)\include";"$(OGRE_HOME)\include";"$(OGRE_HOME)\Samples\include"" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS" - MinimalRebuild="true" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - EnableFunctionLevelLinking="true" - UsePrecompiledHeader="0" - WarningLevel="3" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="OgreMain_d.lib ois_d.lib OgreOde_Core_d.lib OgreOde_Loader_d.lib OgreOde_Prefab_d.lib" - OutputFile="$(OutDir)/OgreOdeDemo_GranTurismOgre.exe" - LinkIncremental="1" - SuppressStartupBanner="true" - AdditionalLibraryDirectories=""$(OGRE_HOME)\lib\";"..\..\..\..\lib\$(ConfigurationName)";"..\..\..\..\prefab\lib\$(ConfigurationName)";"..\..\..\..\loader\lib\$(ConfigurationName)"" - GenerateDebugInformation="true" - ProgramDatabaseFile="$(OutDir)/OgreOdeDemo_GranTurismOgre.pdb" - SubSystem="2" - OptimizeForWindows98="1" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - CommandLine="copy "$(TargetPath)" "$(OGRE_HOME)\bin\$(ConfigurationName)"" - /> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory="..\..\bin\$(ConfigurationName)" - IntermediateDirectory="..\..\obj\$(ConfigurationName)" - ConfigurationType="1" - InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="..\..\include;..\..\..\..\include;..\..\..\..\loader\include;..\..\..\..\prefab\include;"$(ODE_HOME)\include";"$(OGRE_HOME)\include";"$(OGRE_HOME)\Samples\include"" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS" - StringPooling="true" - MinimalRebuild="true" - RuntimeLibrary="2" - BufferSecurityCheck="false" - EnableFunctionLevelLinking="true" - UsePrecompiledHeader="0" - WarningLevel="3" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="OgreMain.lib ois.lib OgreOde_Core.lib OgreOde_Loader.lib OgreOde_Prefab.lib" - OutputFile="$(OutDir)/OgreOdeDemo_GranTurismOgre.exe" - LinkIncremental="1" - AdditionalLibraryDirectories=""$(OGRE_HOME)\lib\";"..\..\..\..\lib\$(ConfigurationName)";"..\..\..\..\prefab\lib\$(ConfigurationName)";"..\..\..\..\loader\lib\$(ConfigurationName)"" - GenerateDebugInformation="true" - SubSystem="2" - OptimizeReferences="2" - EnableCOMDATFolding="2" - OptimizeForWindows98="1" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - CommandLine="copy "$(TargetPath)" "$(OGRE_HOME)\bin\$(ConfigurationName)"" - /> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" - UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" - > - <File - RelativePath="..\..\src\GranTurismOgre.cpp" - > - </File> - </Filter> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hm;inl;inc;xsd" - UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" - > - <File - RelativePath="..\..\include\GranTurismOgre.h" - > - </File> - </Filter> - <Filter - Name="Resource Files" - Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" - UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" - > - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8,00" + Name="Demo_GranTurismOgre" + ProjectGUID="{292C4A04-E960-44A3-A6EA-83881C176135}" + RootNamespace="Demo_GranTurismOgre" + Keyword="Win32Proj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory=" $(OGRE_HOME)\bin\$(ConfigurationName)" + IntermediateDirectory="..\..\obj\$(ConfigurationName)" + ConfigurationType="1" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="..\..\include;..\..\..\..\include;..\..\..\..\loader\include;..\..\..\..\prefab\include;"$(ODE_HOME)\include";"$(OGRE_HOME)\include";"$(OGRE_HOME)\Samples\include"" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + EnableFunctionLevelLinking="true" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="OgreMain_d.lib ois_d.lib OgreOde_Core_d.lib OgreOde_Loader_d.lib OgreOde_Prefab_d.lib" + OutputFile="$(OutDir)\OgreOdeDemo_GranTurismOgre.exe" + LinkIncremental="1" + SuppressStartupBanner="true" + AdditionalLibraryDirectories=""$(OGRE_HOME)\lib\";"..\..\..\..\lib\$(ConfigurationName)";"..\..\..\..\prefab\lib\$(ConfigurationName)";"..\..\..\..\loader\lib\$(ConfigurationName)"" + GenerateDebugInformation="true" + ProgramDatabaseFile="$(OutDir)/OgreOdeDemo_GranTurismOgre.pdb" + SubSystem="2" + OptimizeForWindows98="1" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="$(OGRE_HOME)\bin\$(ConfigurationName)" + IntermediateDirectory="..\..\obj\$(ConfigurationName)" + ConfigurationType="1" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="..\..\include;..\..\..\..\include;..\..\..\..\loader\include;..\..\..\..\prefab\include;"$(ODE_HOME)\include";"$(OGRE_HOME)\include";"$(OGRE_HOME)\Samples\include"" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS" + StringPooling="true" + MinimalRebuild="true" + RuntimeLibrary="2" + BufferSecurityCheck="false" + EnableFunctionLevelLinking="true" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="OgreMain.lib ois.lib OgreOde_Core.lib OgreOde_Loader.lib OgreOde_Prefab.lib" + OutputFile="$(OutDir)\OgreOdeDemo_GranTurismOgre.exe" + LinkIncremental="1" + AdditionalLibraryDirectories=""$(OGRE_HOME)\lib\";"..\..\..\..\lib\$(ConfigurationName)";"..\..\..\..\prefab\lib\$(ConfigurationName)";"..\..\..\..\loader\lib\$(ConfigurationName)"" + GenerateDebugInformation="true" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + OptimizeForWindows98="1" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath="..\..\src\GranTurismOgre.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\..\include\GranTurismOgre.h" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> Modified: trunk/ogreode/demos/Landscape/scripts/VC8/Demo_Landscape_SDK.vcproj =================================================================== --- trunk/ogreode/demos/Landscape/scripts/VC8/Demo_Landscape_SDK.vcproj 2008-04-30 01:09:45 UTC (rev 2430) +++ trunk/ogreode/demos/Landscape/scripts/VC8/Demo_Landscape_SDK.vcproj 2008-05-01 14:43:04 UTC (rev 2431) @@ -1,219 +1,219 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="8,00" - Name="Demo_Landscape" - ProjectGUID="{938CDDEB-72ED-4902-B936-003D4D9F3EB7}" - Keyword="Win32Proj" - > - <Platforms> - <Platform - Name="Win32" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory="..\..\bin\$(ConfigurationName)" - IntermediateDirectory="..\..\obj\$(ConfigurationName)" - ConfigurationType="1" - InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="..\..\include;..\..\..\..\include;..\..\..\..\loader\include;..\..\..\..\prefab\include;"$(ODE_HOME)\include";"$(OGRE_HOME)\include";"$(OGRE_HOME)\Samples\include"" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS" - MinimalRebuild="true" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - EnableFunctionLevelLinking="true" - UsePrecompiledHeader="0" - WarningLevel="3" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="OgreMain_d.lib ois_d.lib OgreOde_Core_d.lib OgreOde_Loader_d.lib OgreOde_Prefab_d.lib" - OutputFile="$(OutDir)/OgreOdeDemo_Landscape.exe" - LinkIncremental="1" - AdditionalLibraryDirectories=""$(OGRE_HOME)\lib\";"..\..\..\..\lib\$(ConfigurationName)";"..\..\..\..\prefab\lib\$(ConfigurationName)";"..\..\..\..\loader\lib\$(ConfigurationName)"" - GenerateDebugInformation="true" - ProgramDatabaseFile="$(OutDir)/OgreOdeDemo_Landscape.pdb" - SubSystem="2" - OptimizeForWindows98="1" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - CommandLine="copy "$(TargetPath)" "$(OGRE_HOME)\bin\$(ConfigurationName)"" - /> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory="..\..\bin\$(ConfigurationName)" - IntermediateDirectory="..\..\obj\$(ConfigurationName)" - ConfigurationType="1" - InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="..\..\include;..\..\..\..\include;..\..\..\..\loader\include;..\..\..\..\prefab\include;"$(ODE_HOME)\include";"$(OGRE_HOME)\include";"$(OGRE_HOME)\Samples\include"" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS" - StringPooling="true" - MinimalRebuild="true" - RuntimeLibrary="2" - BufferSecurityCheck="false" - EnableFunctionLevelLinking="true" - UsePrecompiledHeader="0" - WarningLevel="3" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="OgreMain.lib ois.lib OgreOde_Core.lib OgreOde_Loader.lib OgreOde_Prefab.lib" - OutputFile="$(OutDir)/OgreOdeDemo_Landscape.exe" - LinkIncremental="1" - AdditionalLibraryDirectories=""$(OGRE_HOME)\lib\";"..\..\..\..\lib\$(ConfigurationName)";"..\..\..\..\prefab\lib\$(ConfigurationName)";"..\..\..\..\loader\lib\$(ConfigurationName)"" - GenerateDebugInformation="true" - SubSystem="2" - OptimizeReferences="2" - EnableCOMDATFolding="2" - OptimizeForWindows98="1" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - CommandLine="copy "$(TargetPath)" "$(OGRE_HOME)\bin\$(ConfigurationName)"" - /> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" - UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" - > - <File - RelativePath="..\..\src\Landscape.cpp" - > - </File> - </Filter> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hm;inl;inc;xsd" - UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" - > - <File - RelativePath="..\..\include\Landscape.h" - > - </File> - </Filter> - <Filter - Name="Resource Files" - Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" - UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" - > - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8,00" + Name="Demo_Landscape" + ProjectGUID="{938CDDEB-72ED-4902-B936-003D4D9F3EB7}" + Keyword="Win32Proj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory=" $(OGRE_HOME)\bin\$(ConfigurationName)" + IntermediateDirectory="..\..\obj\$(ConfigurationName)" + ConfigurationType="1" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="..\..\include;..\..\..\..\include;..\..\..\..\loader\include;..\..\..\..\prefab\include;"$(ODE_HOME)\include";"$(OGRE_HOME)\include";"$(OGRE_HOME)\Samples\include"" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + EnableFunctionLevelLinking="true" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="OgreMain_d.lib ois_d.lib OgreOde_Core_d.lib OgreOde_Loader_d.lib OgreOde_Prefab_d.lib" + OutputFile="$(OutDir)\OgreOdeDemo_Landscape.exe" + LinkIncremental="1" + AdditionalLibraryDirectories=""$(OGRE_HOME)\lib\";"..\..\..\..\lib\$(ConfigurationName)";"..\..\..\..\prefab\lib\$(ConfigurationName)";"..\..\..\..\loader\lib\$(ConfigurationName)"" + GenerateDebugInformation="true" + ProgramDatabaseFile="$(OutDir)/OgreOdeDemo_Landscape.pdb" + SubSystem="2" + OptimizeForWindows98="1" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory=" $(OGRE_HOME)\bin\$(ConfigurationName)" + IntermediateDirectory="..\..\obj\$(ConfigurationName)" + ConfigurationType="1" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="..\..\include;..\..\..\..\include;..\..\..\..\loader\include;..\..\..\..\prefab\include;"$(ODE_HOME)\include";"$(OGRE_HOME)\include";"$(OGRE_HOME)\Samples\include"" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS" + StringPooling="true" + MinimalRebuild="true" + RuntimeLibrary="2" + BufferSecurityCheck="false" + EnableFunctionLevelLinking="true" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="OgreMain.lib ois.lib OgreOde_Core.lib OgreOde_Loader.lib OgreOde_Prefab.lib" + OutputFile="$(OutDir)\OgreOdeDemo_Landscape.exe" + LinkIncremental="1" + AdditionalLibraryDirectories=""$(OGRE_HOME)\lib\";"..\..\..\..\lib\$(ConfigurationName)";"..\..\..\..\prefab\lib\$(ConfigurationName)";"..\..\..\..\loader\lib\$(ConfigurationName)"" + GenerateDebugInformation="true" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + OptimizeForWindows98="1" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath="..\..\src\Landscape.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\..\include\Landscape.h" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> Modified: trunk/ogreode/demos/Landscape/src/Landscape.cpp =================================================================== --- trunk/ogreode/demos/Landscape/src/Landscape.cpp 2008-04-30 01:09:45 UTC (rev 2430) +++ trunk/ogreode/demos/Landscape/src/Landscape.cpp 2008-05-01 14:43:04 UTC (rev 2431) @@ -18,7 +18,7 @@ //static String config_file("landscape6.cfg");// near flat #else //_PLSM2 static String config_file ("paginglandscape2.cfg"); -#endif //_PLSM2 +#endif //_PLSM2 #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32 Modified: trunk/ogreode/demos/SimpleScenes/include/SimpleScenes_Zombie.h =================================================================== --- trunk/ogreode/demos/SimpleScenes/include/SimpleScenes_Zombie.h 2008-04-30 01:09:45 UTC (rev 2430) +++ trunk/ogreode/demos/SimpleScenes/include/SimpleScenes_Zombie.h 2008-05-01 14:43:04 UTC (rev 2431) @@ -12,11 +12,11 @@ "ninja", "robot", "GingerBreadMan" -}; +}; static const String meshZombieNames[] = { "zombie_small.mesh", "zombie_small.mesh", - "ninja.mesh", + "ninja.mesh", "robot.mesh", "GingerBreadMan.mesh" }; Modified: trunk/ogreode/demos/SimpleScenes/scripts/VC8/Demo_SimpleScenes_SDK.vcproj =================================================================== --- trunk/ogreode/demos/SimpleScenes/scripts/VC8/Demo_SimpleScenes_SDK.vcproj 2008-04-30 01:09:45 UTC (rev 2430) +++ trunk/ogreode/demos/SimpleScenes/scripts/VC8/Demo_SimpleScenes_SDK.vcproj 2008-05-01 14:43:04 UTC (rev 2431) @@ -1,255 +1,256 @@ -<?xml version="1.0" encoding="Windows-1252"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="8,00" - Name="Demo_SimpleScenes" - ProjectGUID="{F3DE570A-4FA1-44AB-8C12-4369126F2C95}" - Keyword="Win32Proj" - > - <Platforms> - <Platform - Name="Win32" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory="..\..\bin\$(ConfigurationName)" - IntermediateDirectory="..\..\obj\$(ConfigurationName)" - ConfigurationType="1" - InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="..\..\include;..\..\..\..\include;..\..\..\..\loader\include;..\..\..\..\prefab\include;"$(ODE_HOME)\include";"$(OGRE_HOME)\include";"$(OGRE_HOME)\Samples\include"" - PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS" - MinimalRebuild="true" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - EnableFunctionLevelLinking="true" - UsePrecompiledHeader="0" - WarningLevel="3" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="OgreMain_d.lib ois_d.lib OgreOde_Core_d.lib OgreOde_Loader_d.lib OgreOde_Prefab_d.lib" - OutputFile="$(OutDir)/OgreOdeDemo_SimpleScenes.exe" - LinkIncremental="1" - AdditionalLibraryDirectories=""$(OGRE_HOME)\lib\";"..\..\..\..\lib\$(ConfigurationName)";"..\..\..\..\prefab\lib\$(ConfigurationName)";"..\..\..\..\loader\lib\$(ConfigurationName)"" - GenerateDebugInformation="true" - ProgramDatabaseFile="$(OutDir)/OgreOdeDemo_SimpleScenes.pdb" - SubSystem="2" - OptimizeForWindows98="1" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - CommandLine="copy "$(TargetPath)" "$(OGRE_HOME)\bin\$(ConfigurationName)"" - /> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory="..\..\bin\$(ConfigurationName)" - IntermediateDirectory="..\..\obj\$(ConfigurationName)" - ConfigurationType="1" - InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" - CharacterSet="2" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="..\..\include;..\..\..\..\include;..\..\..\..\loader\include;..\..\..\..\prefab\include;"$(ODE_HOME)\include";"$(OGRE_HOME)\include";"$(OGRE_HOME)\Samples\include"" - PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS" - StringPooling="true" - MinimalRebuild="true" - RuntimeLibrary="2" - BufferSecurityCheck="false" - EnableFunctionLevelLinking="true" - UsePrecompiledHeader="0" - WarningLevel="3" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - AdditionalDependencies="OgreMain.lib ois.lib OgreOde_Core.lib OgreOde_Loader.lib OgreOde_Prefab.lib" - OutputFile="$(OutDir)/OgreOdeDemo_SimpleScenes.exe" - LinkIncremental="1" - AdditionalLibraryDirectories=""$(OGRE_HOME)\lib\";"..\..\..\..\lib\$(ConfigurationName)";"..\..\..\..\prefab\lib\$(ConfigurationName)";"..\..\..\..\loader\lib\$(ConfigurationName)"" - GenerateDebugInformation="true" - SubSystem="2" - OptimizeReferences="2" - EnableCOMDATFolding="2" - OptimizeForWindows98="1" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - CommandLine="copy "$(TargetPath)" "$(OGRE_HOME)\bin\$(ConfigurationName)"" - /> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Source Files" - Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" - UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" - > - <File - RelativePath="..\..\src\SimpleScenes.cpp" - > - </File> - <File - RelativePath="..\..\src\SimpleScenesApplication.cpp" - > - </File> - </Filter> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hm;inl;inc;xsd" - UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" - > - <File - RelativePath="..\..\include\SimpleScenes.h" - > - </File> - <File - RelativePath="..\..\include\SimpleScenes_BoxStack.h" - > - </File> - <File - RelativePath="..\..\include\SimpleScenes_Buggy.h" - > - </File> - <File - RelativePath="..\..\include\SimpleScenes_Chain.h" - > - </File> - <File - RelativePath="..\..\include\SimpleScenes_Crash.h" - > - </File> - <File - RelativePath="..\..\include\SimpleScenes_Joints.h" - > - </File> - <File - RelativePath="..\..\include\SimpleScenes_TriMesh.h" - > - </File> - <File - RelativePath="..\..\include\SimpleScenes_Zombie.h" - > - </File> - <File - RelativePath="..\..\include\SimpleScenesApplication.h" - > - </File> - </Filter> - <Filter - Name="Resource Files" - Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" - UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" - > - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> +<?xml version="1.0" encoding="Windows-1252"?> +<VisualStudioProject + ProjectType="Visual C++" + Version="8,00" + Name="Demo_SimpleScenes" + ProjectGUID="{F3DE570A-4FA1-44AB-8C12-4369126F2C95}" + RootNamespace="Demo_SimpleScenes" + Keyword="Win32Proj" + > + <Platforms> + <Platform + Name="Win32" + /> + </Platforms> + <ToolFiles> + </ToolFiles> + <Configurations> + <Configuration + Name="Debug|Win32" + OutputDirectory="$(OGRE_HOME)\bin\$(ConfigurationName)" + IntermediateDirectory="..\..\obj\$(ConfigurationName)" + ConfigurationType="1" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + Optimization="0" + AdditionalIncludeDirectories="..\..\include;..\..\..\..\include;..\..\..\..\loader\include;..\..\..\..\prefab\include;"$(ODE_HOME)\include";"$(OGRE_HOME)\include";"$(OGRE_HOME)\Samples\include"" + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS" + MinimalRebuild="true" + BasicRuntimeChecks="3" + RuntimeLibrary="3" + EnableFunctionLevelLinking="true" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="OgreMain_d.lib ois_d.lib OgreOde_Core_d.lib OgreOde_Loader_d.lib OgreOde_Prefab_d.lib" + OutputFile="$(OutDir)\OgreOdeDemo_SimpleScenes.exe" + LinkIncremental="1" + AdditionalLibraryDirectories=""$(OGRE_HOME)\lib\";"..\..\..\..\lib\$(ConfigurationName)";"..\..\..\..\prefab\lib\$(ConfigurationName)";"..\..\..\..\loader\lib\$(ConfigurationName)"" + GenerateDebugInformation="true" + ProgramDatabaseFile="$(OutDir)/OgreOdeDemo_SimpleScenes.pdb" + SubSystem="2" + OptimizeForWindows98="1" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="" + /> + </Configuration> + <Configuration + Name="Release|Win32" + OutputDirectory="$(OGRE_HOME)\bin\$(ConfigurationName)" + IntermediateDirectory="..\..\obj\$(ConfigurationName)" + ConfigurationType="1" + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops" + CharacterSet="2" + > + <Tool + Name="VCPreBuildEventTool" + /> + <Tool + Name="VCCustomBuildTool" + /> + <Tool + Name="VCXMLDataGeneratorTool" + /> + <Tool + Name="VCWebServiceProxyGeneratorTool" + /> + <Tool + Name="VCMIDLTool" + /> + <Tool + Name="VCCLCompilerTool" + AdditionalIncludeDirectories="..\..\include;..\..\..\..\include;..\..\..\..\loader\include;..\..\..\..\prefab\include;"$(ODE_HOME)\include";"$(OGRE_HOME)\include";"$(OGRE_HOME)\Samples\include"" + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS" + StringPooling="true" + MinimalRebuild="true" + RuntimeLibrary="2" + BufferSecurityCheck="false" + EnableFunctionLevelLinking="true" + UsePrecompiledHeader="0" + WarningLevel="3" + Detect64BitPortabilityProblems="true" + DebugInformationFormat="3" + /> + <Tool + Name="VCManagedResourceCompilerTool" + /> + <Tool + Name="VCResourceCompilerTool" + /> + <Tool + Name="VCPreLinkEventTool" + /> + <Tool + Name="VCLinkerTool" + AdditionalDependencies="OgreMain.lib ois.lib OgreOde_Core.lib OgreOde_Loader.lib OgreOde_Prefab.lib" + OutputFile="$(OutDir)\OgreOdeDemo_SimpleScenes.exe" + LinkIncremental="1" + AdditionalLibraryDirectories=""$(OGRE_HOME)\lib\";"..\..\..\..\lib\$(ConfigurationName)";"..\..\..\..\prefab\lib\$(ConfigurationName)";"..\..\..\..\loader\lib\$(ConfigurationName)"" + GenerateDebugInformation="true" + SubSystem="2" + OptimizeReferences="2" + EnableCOMDATFolding="2" + OptimizeForWindows98="1" + TargetMachine="1" + /> + <Tool + Name="VCALinkTool" + /> + <Tool + Name="VCManifestTool" + /> + <Tool + Name="VCXDCMakeTool" + /> + <Tool + Name="VCBscMakeTool" + /> + <Tool + Name="VCFxCopTool" + /> + <Tool + Name="VCAppVerifierTool" + /> + <Tool + Name="VCWebDeploymentTool" + /> + <Tool + Name="VCPostBuildEventTool" + CommandLine="" + /> + </Configuration> + </Configurations> + <References> + </References> + <Files> + <Filter + Name="Source Files" + Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" + UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" + > + <File + RelativePath="..\..\src\SimpleScenes.cpp" + > + </File> + <File + RelativePath="..\..\src\SimpleScenesApplication.cpp" + > + </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > + <File + RelativePath="..\..\include\SimpleScenes.h" + > + </File> + <File + RelativePath="..\..\include\SimpleScenes_BoxStack.h" + > + </File> + <File + RelativePath="..\..\include\SimpleScenes_Buggy.h" + > + </File> + <File + RelativePath="..\..\include\SimpleScenes_Chain.h" + > + </File> + <File + RelativePath="..\..\include\SimpleScenes_Crash.h" + > + </File> + <File + RelativePath="..\..\include\SimpleScenes_Joints.h" + > + </File> + <File + RelativePath="..\..\include\SimpleScenes_TriMesh.h" + > + </File> + <File + RelativePath="..\..\include\SimpleScenes_Zombie.h" + > + </File> + <File + RelativePath="..\..\include\SimpleScenesApplication.h" + > + </File> + </Filter> + <Filter + Name="Resource Files" + Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" + UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" + > + </Filter> + </Files> + <Globals> + </Globals> +</VisualStudioProject> Modified: trunk/ogreode/scripts/VC8/OgreOde_SDK.suo =================================================================== (Binary files differ) Modified: trunk/ogreode/src/OgreOdeDebugObject.cpp =================================================================== --- trunk/ogreode/src/OgreOdeDebugObject.cpp 2008-04-30 01:09:45 UTC (rev 2430) +++ trunk/ogreode/src/OgreOdeDebugObject.cpp 2008-05-01 14:43:04 UTC (rev 2431) @@ -1,772 +1,792 @@ - -#include "OgreOdePrecompiledHeaders.h" - -#include "OgreOdeDebugObject.h" - -using namespace OgreOde; -using namespace Ogre; - -//------------------------------------------------------------------------------------------------ -bool DebugLines::_materials_created = false; -//------------------------------------------------------------------------------------------------ -DebugLines::DebugLines() : SimpleRenderable() -{ - mRenderOp.vertexData = new Ogre::VertexData(); - _drawn = false; - - if (!_materials_created) - { - MaterialPtr red = MaterialManager::getSingleton().create("OgreOdeDebugLines/Disabled","OgreOde"); - MaterialPtr green = MaterialManager::getSingleton().create("OgreOdeDebugLines/Enabled","OgreOde"); - MaterialPtr blue = MaterialManager::getSingleton().create("OgreOdeDebugLines/Static","OgreOde"); - - red->setReceiveShadows(false); - red->getTechnique(0)->setLightingEnabled(true); - red->getTechnique(0)->getPass(0)->setSelfIllumination(1,0,0); - - green->setReceiveShadows(false); - green->getTechnique(0)->setLightingEnabled(true); - green->getTechnique(0)->getPass(0)->setSelfIllumination(0,1,0); - - blue->setReceiveShadows(false); - blue->getTechnique(0)->setLightingEnabled(true); - blue->getTechnique(0)->getPass(0)->setSelfIllumination(0,0,1); - - _materials_created = true; - } - setCastShadows (false); - this->setMaterial("OgreOdeDebugLines/Enabled"); -} - - -//------------------------------------------------------------------------------------------------ -void DebugLines::clear() -{ - if (_drawn) - { - _drawn = false; - _points.clear(); - delete mRenderOp.vertexData; - - mRenderOp.vertexData = new Ogre::VertexData(); - } -} -//------------------------------------------------------------------------------------------------ -DebugLines::~DebugLines(void) -{ - clear(); - - delete mRenderOp.vertexData; -} -//------------------------------------------------------------------------------------------------ -void DebugLines::draw() -{ - if (_drawn) - return; - else - _drawn = true; - - // Initialization stuff - mRenderOp.indexData = 0; - mRenderOp.vertexData->vertexCount = _points.size(); - mRenderOp.vertexData->vertexStart = 0; - mRenderOp.operationType = RenderOperation::OT_LINE_LIST; - mRenderOp.useIndexes = false; - - Ogre::VertexDeclaration *decl = mRenderOp.vertexData->vertexDeclaration; - Ogre::VertexBufferBinding *bind = mRenderOp.vertexData->vertexBufferBinding; - - decl->addElement(0, 0, VET_FLOAT3, VES_POSITION); - - HardwareVertexBufferSharedPtr vbuf = - HardwareBufferManager::getSingleton().createVertexBuffer( - decl->getVertexSize(0), - mRenderOp.vertexData->vertexCount, - HardwareBuffer::HBU_STATIC_WRITE_ONLY); - - bind->setBinding(0, vbuf); - - // Drawing stuff - unsigned int size = (unsigned int)_points.size(); - Ogre::Vector3 vaabMin = _points[0]; - Ogre::Vector3 vaabMax = _points[0]; - - float *prPos = static_cast<float*>(vbuf->lock(HardwareBuffer::HBL_DISCARD)); - - for(unsigned int i = 0; i < size; i++) - { - *prPos++ = _points[i].x; - *prPos++ = _points[i].y; - *prPos++ = _points[i].z; - - if (_points[i].x < vaabMin.x) - vaabMin.x = _points[i].x; - if (_points[i].y < vaabMin.y) - vaabMin.y = _points[i].y; - if (_points[i].z < vaabMin.z) - vaabMin.z = _points[i].z; - - if (_points[i].x > vaabMax.x) - vaabMax.x = _points[i].x; - if (_points[i].y > vaabMax.y) - vaabMax.y = _points[i].y; - if (_points[i].z > vaabMax.z) - vaabMax.z = _points[i].z; - } - - vbuf->unlock(); - - mBox.setExtents(vaabMin, vaabMax); -} -//------------------------------------------------------------------------------------------------ -Real DebugLines::getSquaredViewDepth(const Camera *cam) const -{ - Vector3 vMin, vMax, vMid, vDist; - vMin = mBox.getMinimum(); - vMax = mBox.getMaximum(); - vMid = ((vMin - vMax) * 0.5) + vMin; - vDist = cam->getDerivedPosition() - vMid; - - return vDist.squaredLength(); -} -//------------------------------------------------------------------------------------------------ -Real DebugLines::getBoundingRadius() const -{ - return Math::Sqrt(std::max(mBox.getMaximum().squaredLength(), mBox.getMinimum().squaredLength())); -} -//------------------------------------------------------------------------------------------------ -DebugObject::DebugObject(DebugObject::Mode mode) -{ - _mode = DebugObject::Mode_Unknown; - setMode(mode); -} -//------------------------------------------------------------------------------------------------ -void DebugObject::setMode(DebugObject::Mode mode) -{ - if (mode != _mode) - { - _mode = mode; - switch(_mode) - { - case DebugObject::Mode_Enabled: - setMaterial("OgreOdeDebugLines/Enabled"); - break; - - case DebugObject::Mode_Disabled: - setMaterial("OgreOdeDebugLines/Disabled"); - - break; - - case DebugObject::Mode_Static: - setMaterial("OgreOdeDebugLines/Static"); - break; - } - } -} -//------------------------------------------------------------------------------------------------ -DebugObject::~DebugObject() -{ -} -//------------------------------------------------------------------------------------------------ -BoxDebugObject::BoxDebugObject(const Ogre::Vector3& size):DebugObject() -{ - AxisAlignedBox aabb(-size.x * 0.5,-size.y * 0.5,-size.z * 0.5, - size.x * 0.5,size.y * 0.5,size.z * 0.5); - - Vector3 vmax = aabb.getMaximum(); - Vector3 vmin = aabb.getMinimum(); - - addLine(vmin.x,vmin.y,vmin.z,vmax.x,vmin.y,vmin.z); - addLine(vmin.x,vmin.y,vmin.z,vmin.x,vmin.y,vmax.z); - addLine(vmin.x,vmin.y,vmin.z,vmin.x,vmax.y,vmin.z); - addLine(vmin.x,vmax.y,vmin.z,vmin.x,vmax.y,vmax.z); - addLine(vmin.x,vmax.y,vmin.z,vmax.x,vmax.y,vmin.z); - addLine(vmax.x,vmin.y,vmin.z,vmax.x,vmin.y,vmax.z); - addLine(vmax.x,vmin.y,vmin.z,vmax.x,vmax.y,vmin.z); - addLine(vmin.x,vmax.y,vmax.z,vmax.x,vmax.y,vmax.z); - addLine(vmin.x,vmax.y,vmax.z,vmin.x,vmin.y,vmax.z); - addLine(vmax.x,vmax.y,vmin.z,vmax.x,vmax.y,vmax.z); - addLine(vmax.x,vmin.y,vmax.z,vmax.x,vmax.y,vmax.z); - addLine(vmin.x,vmin.y,vmax.z,vmax.x,vmin.y,vmax.z); - - draw(); -} -//------------------------------------------------------------------------------------------------ -BoxDebugObject::~BoxDebugObject() -{ -} -//------------------------------------------------------------------------------------------------ -SphereDebugObject::SphereDebugObject(Real radius):DebugObject() -{ - // X/Y axis - - // NW quadrant - addLine(-radius, 0.0, 0.0, - -0.866 * radius, 0.5 * radius, 0.0); - - addLine(-0.866 * radius, 0.5 * radius, 0.0, - -0.5 * radius, 0.866 * radius, 0.0); - - addLine(-0.5 * radius, 0.866 * radius, 0.0, - 0.0, radius, 0.0); - - // NE quadrant - addLine(0.0, radius, 0.0, - 0.5 * radius, 0.866 * radius, 0.0); - - addLine(0.5 * radius, 0.866 * radius, 0.0, - 0.866 * radius, 0.5 * radius, 0.0); - - addLine(0.866 * radius, 0.5 * radius, 0.0, - radius, 0.0, 0.0); - - // SW quadrant - addLine(-radius, 0.0, 0.0, - -0.866 * radius, -0.5 * radius, 0.0); - - addLine(-0.866 * radius, -0.5 * radius, 0.0, - -0.5 * radius, -0.866 * radius, 0.0); - - addLine(-0.5 * radius, -0.866 * radius, 0.0, - 0.0, -radius, 0.0); - - // SE quadrant - addLine(0.0, -radius, 0.0, - 0.5 * radius, -0.866 * radius, 0.0); - - addLine(0.5 * radius, -0.866 * radius, 0.0, - 0.866 * radius, -0.5 * radius, 0.0); - - addLine(0.866 * radius, -0.5 * radius, 0.0, - radius, 0.0, 0.0); - - // X/Z axis - - // NW quadrant - addLine(-radius, 0.0, 0.0, - -0.866 * radius, 0.0, 0.5 * radius); - - addLine(-0.866 * radius, 0.0, 0.5 * radius, - -0.5 * radius, 0.0, 0.866 * radius); - - addLine(-0.5 * radius, 0.0, 0.866 * radius, - 0.0, 0.0, radius); - - // NE quadrant - addLine(0.0, 0.0, radius, - 0.5 * radius, 0.0, 0.866 * radius); - - addLine(0.5 * radius, 0.0, 0.866 * radius, - 0.866 * radius, 0.0, 0.5 * radius); - - addLine(0.866 * radius, 0.0, 0.5 * radius, - radius, 0.0, 0.0); - - // SW quadrant - addLine(-radius, 0.0, 0.0, - -0.866 * radius, 0.0, -0.5 * radius); - - addLine(-0.866 * radius, 0.0, -0.5 * radius, - -0.5 * radius, 0.0, -0.866 * radius); - - addLine(-0.5 * radius, 0.0, -0.866 * radius, - 0.0, 0.0, -radius); - - // SE quadrant - addLine(0.0, 0.0, -radius, - 0.5 * radius, 0.0, -0.866 * radius); - - addLine(0.5 * radius, 0.0, -0.866 * radius, - 0.866 * radius, 0.0, -0.5 * radius); - - addLine(0.866 * radius, 0.0, -0.5 * radius, - radius, 0.0, 0.0); - - // Y/Z axis - - // NW quadrant - addLine(0.0, -radius, 0.0, - 0.0, -0.866 * radius, 0.5 * radius); - - addLine(0.0, -0.866 * radius, 0.5 * radius, - 0.0, -0.5 * radius, 0.866 * radius); - - addLine(0.0, -0.5 * radius, 0.866 * radius, - 0.0, 0.0, radius); - - // NE quadrant - addLine(0.0, 0.0, radius, - 0.0, 0.5 * radius, 0.866 * radius); - - addLine(0.0, 0.5 * radius, 0.866 * radius, - 0.0, 0.866 * radius, 0.5 * radius); - - addLine(0.0, 0.866 * radius, 0.5 * radius, - 0.0, radius, 0.0); - - // SW quadrant - addLine(0.0, -radius, 0.0, - 0.0, -0.866 * radius, -0.5 * radius); - - addLine(0.0, -0.866 * radius, -0.5 * radius, - 0.0, -0.5 * radius, -0.866 * radius); - - addLine(0.0, -0.5 * radius, -0.866 * radius, - 0.0, 0.0, -radius); - - // SE quadrant - addLine(0.0, 0.0, -radius, - 0.0, 0.5 * radius, -0.866 * radius); - - addLine(0.0, 0.5 * radius, -0.866 * radius, - 0.0, 0.866 * radius, -0.5 * radius); - - addLine(0.0, 0.866 * radius, -0.5 * radius, - 0.0, radius, 0.0); - - draw(); -} -//------------------------------------------------------------------------------------------------ -SphereDebugObject::~SphereDebugObject() -{ -} -//------------------------------------------------------------------------------------------------ -CapsuleDebugObject::CapsuleDebugObject(Real radius,Real length):DebugObject() -{ - Real halflen = length * 0.5; - AxisAlignedBox aabb(-radius,-radius,-(halflen + radius),radius,radius,halflen + radius); - - // X/Y axis - Near - - // NW quadrant - addLine(-radius, 0.0, halflen, - -0.866 * radius, 0.5 * radius, halflen); - - addLine(-0.866 * radius, 0.5 * radius, halflen, - -0.5 * radius, 0.866 * radius, halflen); - - addLine(-0.5 * radius, 0.866 * radius, halflen, - 0.0, radius, halflen); - - // NE quadrant - addLine(0.0, radius, halflen, - 0.5 * radius, 0.866 * radius, halflen); - - addLine(0.5 * radius, 0.866 * radius, halflen, - 0.866 * radius, 0.5 * radius, halflen); - - addLine(0.866 * radius, 0.5 * radius, halflen, - radius, 0.0, halflen); - - // SW quadrant - addLine(-radius, 0.0, halflen, - -0.866 * radius, -0.5 * radius, halflen); - - addLine(-0.866 * radius, -0.5 * radius, halflen, - -0.5 * radius, -0.866 * radius, halflen); - - addLine(-0.5 * radius, -0.866 * radius, halflen, - 0.0, -radius, halflen); - - // SE quadrant - addLine(0.0, -radius, halflen, - 0.5 * radius, -0.866 * radius, halflen); - - addLine(0.5 * radius, -0.866 * radius, halflen, - 0.866 * radius, -0.5 * radius, halflen); - - addLine(0.866 * radius, -0.5 * radius, halflen, - radius, 0.0, halflen); - - // X/Y axis - Far - - // NW quadrant - addLine(-radius, 0.0, -halflen, - -0.866 * radius, 0.5 * radius, -halflen); - - addLine(-0.866 * radius, 0.5 * radius, -halflen, - -0.5 * radius, 0.866 * radius, -halflen); - - addLine(-0.5 * radius, 0.866 * radius, -halflen, - 0.0, radius, -halflen); - - // NE quadrant - addLine(0.0, radius, -halflen, - 0.5 * radius, 0.866 * radius, -halflen); - - addLine(0.5 * radius, 0.866 * radius, -halflen, - 0.866 * radius, 0.5 * radius, -halflen); - - addLine(0.866 * radius, 0.5 * radius, -halflen, - radius, 0.0, -halflen); - - // SW quadrant - addLine(-radius, 0.0, -halflen, - -0.866 * radius, -0.5 * radius, -halflen); - - addLine(-0.866 * radius, -0.5 * radius, -halflen, - -0.5 * radius, -0.866 * radius, -halflen); - - addLine(-0.5 * radius, -0.866 * radius, -halflen, - 0.0, -radius, -halflen); - - // SE quadrant - addLine(0.0, -radius, -halflen, - 0.5 * radius, -0.866 * radius, -halflen); - - addLine(0.5 * radius, -0.866 * radius, -halflen, - 0.866 * radius, -0.5 * radius, -halflen); - - addLine(0.866 * radius, -0.5 * radius, -halflen, - radius, 0.0, -halflen); - - // X/Z axis - - // NW quadrant - addLine(-radius, 0.0, halflen, - -0.866 * radius, 0.0, (0.5 * radius) + halflen); - - addLine(-0.866 * radius, 0.0, (0.5 * radius) + halflen, - -0.5 * radius, 0.0, (0.866 * radius) + halflen); - - addLine(-0.5 * radius, 0.0, (0.866 * radius) + halflen, - 0.0, 0.0, radius + halflen); - - // NE quadrant - addLine(0.0, 0.0, radius + halflen, - 0.5 * radius, 0.0, (0.866 * radius) + halflen); - - addLine(0.5 * radius, 0.0, (0.866 * radius) + halflen, - 0.866 * radius, 0.0, (0.5 * radius) + halflen); - - addLine(0.866 * radius, 0.0, (0.5 * radius) + halflen, - radius, 0.0, halflen); - - // SW quadrant - addLine(-radius, 0.0, -halflen, - -0.866 * radius, 0.0, (-0.5 * radius) - halflen); - - addLine(-0.866 * radius, 0.0, (-0.5 * radius) - halflen, - -0.5 * radius, 0.0, (-0.866 * radius) - halflen); - - addLine(-0.5 * radius, 0.0, (-0.866 * radius) - halflen, - 0.0, 0.0, -radius - halflen); - - // SE quadrant - addLine(0.0, 0.0, -radius - halflen, - 0.5 * radius, 0.0, (-0.866 * radius) - halflen); - - addLine(0.5 * radius, 0.0, (-0.866 * radius) - halflen, - 0.866 * radius, 0.0, (-0.5 * radius) - halflen); - - addLine(0.866 * radius, 0.0, (-0.5 * radius) - halflen, - radius, 0.0, - halflen); - - // Y/Z axis - - // NW quadrant - addLine(0.0, -radius, halflen, - 0.0, -0.866 * radius, (0.5 * radius) + halflen); - - addLine(0.0, -0.866 * radius, (0.5 * radius) + halflen, - 0.0, -0.5 * radius, (0.866 * radius) + halflen); - - addLine(0.0, -0.5 * radius, (0.866 * radius) + halflen, - 0.0, 0.0, radius + halflen); - - // NE quadrant - addLine(0.0, 0.0, radius + halflen, - 0.0, 0.5 * radius, (0.866 * radius) + halflen); - - addLine(0.0, 0.5 * radius, (0.866 * radius) + halflen, - 0.0, 0.866 * radius, (0.5 * radius) + halflen); - - addLine(0.0, 0.866 * radius, (0.5 * radius) + halflen, - 0.0, radius, halflen); - - // SW quadrant - addLine(0.0, -radius, -halflen, - 0.0, -0.866 * radius, (-0.5 * radius) - halflen); - - addLine(0.0, -0.866 * radius, (-0.5 * radius) - halflen, - 0.0, -0.5 * radius, (-0.866 * radius) - halflen); - - addLine(0.0, -0.5 * radius, (-0.866 * radius) - halflen, - 0.0, 0.0, -radius - halflen); - - // SE quadrant - addLine(0.0, 0.0, -radius - halflen, - 0.0, 0.5 * radius, (-0.866 * radius) - halflen); - - addLine(0.0, 0.5 * radius, (-0.866 * radius) - halflen, - 0.0, 0.866 * radius, (-0.5 * radius) - halflen); - - addLine(0.0, 0.866 * radius, (-0.5 * radius) - halflen, - 0.0, radius, -halflen); - - // Side lines - addLine(-radius, 0.0, -halflen, - -radius, 0.0, halflen); - - addLine(radius, 0.0, -halflen, - radius, 0.0, halflen); - - addLine(0.0, radius, -halflen, - 0.0, radius, halflen); - - addLine(0.0, -radius, -halflen, - 0.0, -radius, halflen); - - draw(); -} -//------------------------------------------------------------------------------------------------ -CapsuleDebugObject::~CapsuleDebugObject() -{ -} -//------------------------------------------------------------------------------------------------ -CylinderDebugObject::CylinderDebugObject(Real radius,Real length):DebugObject() -{ - Real halflen = length * 0.5; - AxisAlignedBox aabb(-radius,-radius,-(halflen + radius),radius,radius,halflen + radius); - - // X/Y axis - Near - - // NW quadrant - addLine(-radius, 0.0, halflen, - -0.866 * radius, 0.5 * radius, halflen); - - addLine(-0.866 * radius, 0.5 * radius, halflen, - -0.5 * radius, 0.866 * radius, halflen); - - addLine(-0.5 * radius, 0.866 * radius, halflen, - 0.0, radius, halflen); - - // NE quadrant - addLine(0.0, radius, halflen, - 0.5 * radius, 0.866 * radius, halflen); - - addLine(0.5 * radius, 0.866 * radius, halflen, - 0.866 * radius, 0.5 * radius, halflen); - - addLine(0.866 * radius, 0.5 * radius, halflen, - radius, 0.0, halflen); - - // SW quadrant - addLine(-radius, 0.0, halflen, - -0.866 * radius, -0.5 * radius, halflen); - - addLine(-0.866 * radius, -0.5 * radius, halflen, - -0.5 * radius, -0.866 * radius, halflen); - - addLine(-0.5 * radius, -0.866 * radius, halflen, - 0.0, -radius, halflen); - - // SE quadrant - addLine(0.0, -radius, halflen, - 0.5 * radius, -0.866 * radius, halflen); - - addLine(0.5 * radius, -0.866 * radius, halflen, - 0.866 * radius, -0.5 * radius, halflen); - - addLine(0.866 * radius, -0.5 * radius, halflen, - radius, 0.0, halflen); - - // X/Y axis - Far - - // NW quadrant - addLine(-radius, 0.0, -halflen, - -0.866 * radius, 0.5 * radius, -halflen); - - addLine(-0.866 * radius, 0.5 * radius, -halflen, - -0.5 * radius, 0.866 * radius, -halflen); - - addLine(-0.5 * radius, 0.866 * radius, -halflen, - 0.0, radius, -halflen); - - // NE quadrant - addLine(0.0, radius, -halflen, - 0.5 * radius, 0.866 * radius, -halflen); - - addLine(0.5 * radius, 0.866 * radius, -halflen, - 0.866 * radius, 0.5 * radius, -halflen); - - addLine(0.866 * radius, 0.5 * radius, -halflen, - radius, 0.0, -halflen); - - // SW quadrant - addLine(-radius, 0.0, -halflen, - -0.866 * radius, -0.5 * radius, -halflen); - - addLine(-0.866 * radius, -0.5 * radius, -halflen, - -0.5 * radius, -0.866 * radius, -halflen); - - addLine(-0.5 * radius, -0.866 * radius, -halflen, - 0.0, -radius, -halflen); - - // SE quadrant - addLine(0.0, -radius, -halflen, - 0.5 * radius, -0.866 * radius, -halflen); - - addLine(0.5 * radius, -0.866 * radius, -halflen, - 0.866 * radius, -0.5 * radius, -halflen); - - addLine(0.866 * radius, -0.5 * radius, -halflen, - radius, 0.0, -halflen); - - // X/Z axis - - // NW quadrant - addLine(-radius, 0.0, halflen, - -0.866 * radius, 0.0, (0.5 * radius) + halflen); - - addLine(-0.866 * radius, 0.0, (0.5 * radius) + halflen, - -0.5 * radius, 0.0, (0.866 * radius) + halflen); - - addLine(-0.5 * radius, 0.0, (0.866 * radius) + halflen, - 0.0, 0.0, radius + halflen); - - // NE quadrant - addLine(0.0, 0.0, radius + halflen, - 0.5 * radius, 0.0, (0.866 * radius) + halflen); - - addLine(0.5 * radius, 0.0, (0.866 * radius) + halflen, - 0.866 * radius, 0.0, (0.5 * radius) + halflen); - - addLine(0.866 * radius, 0.0, (0.5 * radius) + halflen, - radius, 0.0, halflen); - - // SW quadrant - addLine(-radius, 0.0, -halflen, - -0.866 * radius, 0.0, (-0.5 * radius) - halflen); - - addLine(-0.866 * radius, 0.0, (-0.5 * radius) - halflen, - -0.5 * radius, 0.0, (-0.866 * radius) - halflen); - - addLine(-0.5 * radius, 0.0, (-0.866 * radius) - halflen, - 0.0, 0.0, -radius - halflen); - - // SE quadrant - addLine(0.0, 0.0, -radius - halflen, - 0.5 * radius, 0.0, (-0.866 * radius) - halflen); - - addLine(0.5 * radius, 0.0, (-0.866 * radius) - halflen, - 0.866 * radius, 0.0, (-0.5 * radius) - halflen); - - addLine(0.866 * radius, 0.0, (-0.5 * radius) - halflen, - radius, 0.0, - halflen); - - // Y/Z axis - - // NW quadrant - addLine(0.0, -radius, halflen, - 0.0, -0.866 * radius, (0.5 * radius) + halflen); - - addLine(0.0, -0.866 * radius, (0.5 * radius) + halflen, - 0.0, -0.5 * radius, (0.866 * radius) + halflen); - - addLine(0.0, -0.5 * radius, (0.866 * radius) + halflen, - 0.0, 0.0, radius + halflen); - - // NE quadrant - addLine(0.0, 0.0, radius + halflen, - 0.0, 0.5 * radius, (0.866 * radius) + halflen); - - addLine(0.0, 0.5 * radius, (0.866 * radius) + halflen, - 0.0, 0.866 * radius, (0.5 * radius) + halflen); - - addLine(0.0, 0.866 * radius, (0.5 * radius) + halflen, - 0.0, radius, halflen); - - // SW quadrant - addLine(0.0, -radius, -halflen, - 0.0, -0.866 * radius, (-0.5 * radius) - halflen); - - addLine(0.0, -0.866 * radius, (-0.5 * radius) - halflen, - 0.0, -0.5 * radius, (-0.866 * radius) - halflen); - - addLine(0.0, -0.5 * radius, (-0.866 * radius) - halflen, - 0.0, 0.0, -radius - halflen); - - // SE quadrant - addLine(0.0, 0.0, -radius - halflen, - 0.0, 0.5 * radius, (-0.866 * radius) - ... [truncated message content] |