object_roots.h
资源名称:brm2.rar [点击查看]
上传用户:liujun12jf
上传日期:2022-07-12
资源大小:638k
文件大小:2k
源码类别:
OpenGL
开发平台:
Visual C++
- // brm
- #ifndef _OBJECT_ROOTS_H_
- #define _OBJECT_ROOTS_H_
- #include "main.h"
- class CObjectsRoot : public CSceneNode
- {
- public:
- CObjectsRoot() {}
- ~CObjectsRoot() {}
- void Update(float fTime);
- void Render();
- SN_RTTI GetType() { return SN_ROOT; }
- };
- class CBlendingRoot : public CSceneNode
- {
- public:
- CBlendingRoot() {}
- ~CBlendingRoot() {}
- void Update(float fTime) {}
- void Render();
- SN_RTTI GetType() { return SN_BLENDING_ROOT; }
- };
- //////////////////////////////////////////////////////////////////////////////////////////////////
- // SCENE ROOT - MAIN ROOT, everything is updated and rendered using UpdateAll() and RenderAll() //
- //////////////////////////////////////////////////////////////////////////////////////////////////
- class CSceneRoot : public CSceneNode
- {
- public:
- CSceneRoot()
- {
- pBlendRoot = new CBlendingRoot;
- }
- ~CSceneRoot() {}
- CBlendingRoot *pBlendRoot;
- void UpdateScene(CSceneNode *n, float fTime);
- void RenderScene(CSceneNode *n);
- void UpdateSceneChildren(CSceneNode *n, float fTime);
- void RenderSceneChildren(CSceneNode *n);
- void Update(float fTime);
- void Render();
- SN_RTTI GetType() { return SN_MAIN_ROOT; }
- };
- /////////////////////////////////////////////////////////////////////////////////////
- class CSkyRoot
- {
- public:
- // sky_root (sky in night, day, moons, its lighting properties)
- };
- class CWorldRoot
- {
- public:
- // world_root (rain, weather effects, dynamic objects, spells)
- // world_object_root (cells->all objects->properties of each of them, ambient light, savegame)
- // world_pickobject_root (cells, selectable objects :/)
- // world_landscape_root (9 landscapes, some of their parts are culled)
- // world_spell_root (?)
- // world_vfx_root (all magic effects and other particle-objects, each made of couple of emitter things, properties)
- // world_water_node (many water nodes, some of them culled)
- // world_camera_root (positions, etc, some cameras, frustum, glare)
- };
- class CMenuRoot
- {
- public:
- // menu_scene (faders, mainmenu, helping gui, debuging, fps, grid, collide, textures, cursors)
- };
- class CInvetoryRoot
- {
- public:
- // inventory_scene (camera, directional light for player model)
- };
- class CGameScene
- {
- public:
- // sky_root
- // world_root
- // menu_scene
- // inventory_scene
- };
- #endif
English
