bool PropertyPaneTerrain::_OnCreate() { CXTPPropertyGridItem* pCategory = m_wndPropertyGrid.AddCategory(L"Terrain Info"); PROPERTY_REG(pCategory, Double, L"World Size" , 0, propWorldSize ); PROPERTY_REG(pCategory, Number, L"Map Size" , 0, propMapSize ); PROPERTY_REG(pCategory, Number, L"Min Batch Size" , 0, propMinBatchSize ); PROPERTY_REG(pCategory, Number, L"Max Batch Size" , 0, propMaxBatchSize ); PROPERTY_REG(pCategory, Number, L"Skirt Size" , 0, propSkirtSize ); pCategory->Expand(); pCategory = m_wndPropertyGrid.AddCategory(L"Terrain Config"); PROPERTY_REG(pCategory, Number, L"Max Pixel Error" , 0, propMaxPixelError ); PROPERTY_REG(pCategory, Double, L"CompositeMap Distance", 0, propCompMapDist ); pCategory->Expand(); // size_t maxLayer = ManipulatorSystem.GetScene()->GetTerrainMaxLayer(); // for(size_t iLayer=0; iLayer<maxLayer; ++iLayer) // { // std::string strLayer("Layer"); // strLayer += Ogre::StringConverter::toString(iLayer); // std::wstring wcsLayer = Utility::EngineToUnicode(strLayer); // // pCategory = m_wndPropertyGrid.AddCategory(wcsLayer.c_str()); // PROPERTY_REG(pCategory, Double, L"World Size" , 0, propLayerWorldSize0 + iLayer); // PROPERTY_REG(pCategory, , L"Diffuse Map" , L"",propLayerDiffuseMap0 + iLayer); // PROPERTY_REG(pCategory, , L"Normal Map" , L"",propLayerNormalMap0 + iLayer); // pCategory->Expand(); // // _CreateLayerTexList(propLayerDiffuseMap0 + iLayer); // _CreateLayerTexList(propLayerNormalMap0 + iLayer); // } return true; }
bool PropertyPaneEffect::_OnCreate() { CXTPPropertyGridItem* pCategory = m_wndPropertyGrid.AddCategory(L"Shadow"); PROPERTY_REG(pCategory, Double , L"Far Distance" , 300 , propShadowFarDist); PROPERTY_REG(pCategory, Double , L"Split Padding" , 1 , propShadowSplitPadding); PROPERTY_REG(pCategory, Vec3 , L"Optimal Adjust Factor" , VEC3(0.5f,0.8f,2) , propShadowOptimalAdjustFactor); PROPERTY_REG(pCategory, Bool , L"Use Simple Optimal Adjust" , TRUE , propShadowUseSimpleOptimalAdjust); PROPERTY_REG(pCategory, Number , L"Camera Light Direction Threshold", 45 , propShadowCameraLightDirectionThreshold); PROPERTY_REG(pCategory, Vec3 , L"Shadow Map Size" , VEC3(2048,1024,1024) , propShadowMapSize); PROPERTY_REG(pCategory, Bool , L"Self Shadow" , FALSE , propShadowSelfShadow); PROPERTY_REG(pCategory, Bool , L"Render Back Faces" , TRUE , propShadowCasterRenderBackFaces); PROPERTY_REG(pCategory, Double , L"Lambda" , 0.75f , propShadowLambda); PROPERTY_REG(pCategory, Double , L"Extrusion Distance" , 10000 , propShadowDirectionalLightExtrusionDistance); pCategory->Expand(); pCategory = m_wndPropertyGrid.AddCategory(L"SSAO"); PROPERTY_REG(pCategory, Double , L"Sample Length" , 20 , propSSAOSampleLength); PROPERTY_REG(pCategory, Double , L"Offset Scale" , 1 , propSSAOOffsetScale); PROPERTY_REG(pCategory, Double , L"Default Accessibility" , 0.5f , propSSAODefaultAccessibility); PROPERTY_REG(pCategory, Double , L"Edge Highlight" , 1.99f , propSSAOEdgeHighlight); pCategory->Expand(); (dynamic_cast<CXTPPropertyGridItemVec3*>(m_mapItem[propShadowOptimalAdjustFactor]))->SetChildItemID(propOptimalAdjustFactor0, propOptimalAdjustFactor1, propOptimalAdjustFactor2); (dynamic_cast<CXTPPropertyGridItemVec3*>(m_mapItem[propShadowMapSize]))->SetChildItemID(propShadowMapSize0, propShadowMapSize1, propShadowMapSize2); return true; }