本文整理汇总了C++中GameObject::Add方法的典型用法代码示例。如果您正苦于以下问题:C++ GameObject::Add方法的具体用法?C++ GameObject::Add怎么用?C++ GameObject::Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameObject
的用法示例。
在下文中一共展示了GameObject::Add方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Init
void DepthOfField::Init()
{
// Initialization
// Initialize Scene
Scene = new SceneGraph();
// Initialize Renderer
Renderer = new ForwardRenderer(Width,Height);
Renderer->SetBackground(Vec4(1,0,0,1));
// Projection
projection.Perspective(70.f,(f32)Width/(f32)Height,1.f,1000.f);
// Create Camera
Camera = new GameObject();
Camera->SetPosition(Vec3(0,2,20));
// Add a Directional Light
Light = new GameObject();
dLight = new DirectionalLight(Vec4(1, 1, 1, 1), Vec3(-1, -1, 0));
Light->Add(dLight);
Scene->Add(Light);
// Create Game Object
modelMesh = new Model("../../../../examples/DepthOfField/assets/suzanne.p3dm", false, ShaderUsage::Diffuse);
for (uint32 i = 0; i < 10; i++)
{
GameObject* Monkey = new GameObject();
Monkey->SetPosition(Vec3(-23.f + i * 3.f, 0, -15.f + i * 3.f));
RenderingComponent* rMonkey = new RenderingComponent(modelMesh);
Monkey->Add(rMonkey);
Scene->Add(Monkey);
go.push_back(Monkey);
rc.push_back(rMonkey);
}
// Add Camera to Scene
Scene->Add(Camera);
Camera->LookAt(Vec3::ZERO);
fullResBlur = new Texture();
fullResBlur->CreateEmptyTexture(TextureType::Texture, TextureDataType::RGBA16F, Width, Height);
fullResBlur->SetRepeat(TextureRepeat::ClampToEdge, TextureRepeat::ClampToEdge, TextureRepeat::ClampToEdge);
lowResBlur = new Texture();
lowResBlur->CreateEmptyTexture(TextureType::Texture, TextureDataType::RGBA16F, (int32)(Width*.25f), (int32)(Height*.25f));
lowResBlur->SetRepeat(TextureRepeat::ClampToEdge, TextureRepeat::ClampToEdge, TextureRepeat::ClampToEdge);
EffectManager = new PostEffectsManager(Width, Height);
blurX = new BlurXEffect(RTT::Color, Width, Height);
blurY = new BlurYEffect(RTT::LastRTT, Width, Height);
fullResBlur = blurY->GetTexture();
resize = new ResizeEffect(RTT::Color, (uint32)(Width*.25f), (uint32)(Height*.25f));
blurXlow = new BlurXEffect(RTT::LastRTT, (uint32)(Width*.25f), (uint32)(Height*.25f));
blurYlow = new BlurYEffect(RTT::LastRTT, (uint32)(Width*.25f), (uint32)(Height*.25f));
lowResBlur = blurYlow->GetTexture();
depthOfField = new DepthOfFieldEffect(lowResBlur, fullResBlur, Width, Height);
EffectManager->AddEffect(blurX);
EffectManager->AddEffect(blurY);
EffectManager->AddEffect(resize);
EffectManager->AddEffect(blurXlow);
EffectManager->AddEffect(blurYlow);
EffectManager->AddEffect(depthOfField);
}
示例2: Init
void SimplePhysics::Init()
{
// Initialization
// Initialize Scene
Scene = new SceneGraph();
// Initialize Renderer
Renderer = new ForwardRenderer(Width,Height);
// Projection
projection.Perspective(70.f,(f32)Width/(f32)Height,1.f,500.f);
// Create Camera
Camera = new GameObject();
Camera->SetPosition(Vec3(0,20.0,300));
// Add Camera to Scene
Scene->Add(Camera);
// Physics
physics = new Physics();
physics->InitPhysics();
// Add a Directional Light
Light = new GameObject();
dLight = new DirectionalLight(Vec4(1,1,1,1),Vec3(-1,-1,0));
dLight->EnableCastShadows(1024,1024,projection,1,500,1);
dLight->SetShadowBias(1.f,3.f);
Light->Add(dLight);
// Add Light to Scene
Scene->Add(Light);
// Create Materials
Diffuse = new GenericShaderMaterial(ShaderUsage::Color | ShaderUsage::Diffuse | ShaderUsage::DirectionalShadow);
Diffuse->SetColor(Vec4(0.8f,0.8f,0.8f,1.f));
// Set Selected Mesh PTR NULL
SelectedMesh = NULL;
// Create Cubes
srand( (unsigned int)time( NULL ) );
// Create Geometry
cubeHandle = new Cube(5,5,5);
// Create 100 Cubes
#if !defined(GLES2)
for (uint32 i=0;i<1000;i++)
#else
for (uint32 i=0;i<100;i++)
#endif
{
// Create GameObject
GameObject* Cube = new GameObject();
// Add Cube to GameObjects List
Cubes.push_back(Cube);
// Create Rendering Component using Geometry Previously Created with AssetManager
RenderingComponent* rCube = new RenderingComponent(cubeHandle, Diffuse);
// Add Rendering Component to Rendering Components List
rCubes.push_back(rCube);
// Add Rendering Component to GameObject
Cube->Add(rCube);
// Create Physics Component
IPhysicsComponent* pCube = (IPhysicsComponent*)physics->CreateBox(5,5,5,10);
// Add Physics Component to Physics List
pCubes.push_back(pCube);
// Add Physics Component to GameObject
Cube->Add(pCube);
// Add GameObject to Scene
Scene->Add(Cube);
// Set Random Position to the GameObject
Cube->SetPosition(Vec3((f32)(rand() % 100) -50.f, (f32)(rand() % 100)-50.f, (f32)(rand() % 100) -50.f));
}
// Create Floor
Floor = new GameObject();
// Create Geometry
floorHandle = new Cube(100,3,100);
// Create Floor Geometry
rFloor = new RenderingComponent(floorHandle,Diffuse);
// Create Floor Physics
pFloor = (IPhysicsComponent*)physics->CreateBox(100,3,100,0);
// Add Physics Component to GameObject
Floor->Add(pFloor);
// Add Rendering Component To GameObject
Floor->Add(rFloor);
// Add Floor to Scene
Scene->Add(Floor);
// Translate Floor
Floor->SetPosition(Vec3(0,-100,0));
}