- Timestamp:
- 05/01/05 23:29:27 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/VUT/work/TestCullingTerrain/TerrainContentGenerator.cpp
r61 r74 3 3 TerrainContentGenerator.cpp 4 4 \brief 5 Creates content for the terrain ,5 Creates content for the terrain. 6 6 */ 7 7 #include "TerrainContentGenerator.h" 8 8 9 /********************************************/ 10 /* TerrainContentGenerator implementation */ 11 /********************************************/ 9 12 //----------------------------------------------------------------------- 10 13 TerrainContentGenerator::TerrainContentGenerator( SceneManager *sm, RayQueryExecutor *rayQueryEx ) … … 13 16 mRayQueryExecutor = rayQueryEx; 14 17 15 mMin Translation = Vector3(-70.0f, -70.0f,0.0f);16 mMax Translation = Vector3(70.0f, 70.0f, 600.0f);18 mMinPos = Vector3(-200.0f, -70.0f, 200.0f); 19 mMaxPos = Vector3(200.0f, 70.0f, 200.0f); 17 20 18 21 mMinAngle = 0; … … 48 51 // Setup the ray scene query 49 52 Real rotation = mMinAngle + rotationRatio.x * (mMaxAngle - mMinAngle); 50 Vector3 translation = mMinTranslation + translationRatio * (mMaxTranslation - mMinTranslation);53 Vector3 position = mMinPos + translationRatio * (mMaxPos - mMinPos); 51 54 52 translation.y = 5000;55 position.y = 5000; 53 56 54 57 Vector3 queryResult; 55 58 56 if(mRayQueryExecutor->executeRayQuery(&queryResult, translation, Vector3::NEGATIVE_UNIT_Y))59 if(mRayQueryExecutor->executeRayQuery(&queryResult, position, Vector3::NEGATIVE_UNIT_Y)) 57 60 { 58 61 char name[16]; … … 60 63 61 64 Entity *ent = mSceneMgr->createEntity(name, entName); 62 SceneNode *currentObject = mSceneMgr->getRootSceneNode( )->createChildSceneNode( String(name) + "Node", queryResult); 65 SceneNode *currentObject = mSceneMgr->getRootSceneNode()-> 66 createChildSceneNode(String(name) + "Node", queryResult); 63 67 currentObject->attachObject(ent); 64 68 currentObject->setScale(0.1f, 0.1f, 0.1f); 65 69 } 66 70 } 71 /****************************************/ 72 /* RayQueryExecutor implementation */ 73 /****************************************/ 67 74 //----------------------------------------------------------------------- 68 RayQueryExecutor::RayQueryExecutor( SceneManager *sm)75 RayQueryExecutor::RayQueryExecutor(SceneManager *sm) 69 76 { 70 77 mRaySceneQuery = sm->createRayQuery(Ray()); … … 76 83 } 77 84 //----------------------------------------------------------------------- 78 bool RayQueryExecutor::executeRayQuery( Vector3 *result, const Vector3 &pos, const Vector3 &dir)85 bool RayQueryExecutor::executeRayQuery(Vector3 *result, const Vector3 &pos, const Vector3 &dir) 79 86 { 80 Ray ray(pos, dir); 87 return executeRayQuery(result, Ray(pos, dir)); 88 } 89 90 bool RayQueryExecutor::executeRayQuery(Vector3 *result, const Ray &ray) 91 { 81 92 mRaySceneQuery->setRay(ray); 82 93 83 94 // Perform the scene query 84 95 RaySceneQueryResult &queryResult = mRaySceneQuery->execute(); 85 RaySceneQueryResult::iterator it = queryResult.begin( 96 RaySceneQueryResult::iterator it = queryResult.begin(); 86 97 87 98 if (it != queryResult.end() && it->worldFragment)
Note: See TracChangeset
for help on using the changeset viewer.