本文整理汇总了C++中FnScene::CreateCamera方法的典型用法代码示例。如果您正苦于以下问题:C++ FnScene::CreateCamera方法的具体用法?C++ FnScene::CreateCamera怎么用?C++ FnScene::CreateCamera使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FnScene
的用法示例。
在下文中一共展示了FnScene::CreateCamera方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
MiniMap::MiniMap(WORLDid gID, SCENEid sMiniID, Lyubu *lyubu, int x_pos, int y_pos, int width, int height )
{
FnWorld gw;
FnScene scene;
FnViewport vp;
FnCamera camera;
FnObject camStand;
FnTerrain terrain;
//adr_turn = this->turn;
/*
pos_begin[0]=3569.0;
pos_begin[1]=-3208.0;
pos_begin[2]=1000.0f;
*/
gw.Object(gID);
//miniMap
gw.SetObjectPath("Data\\NTU4\\Scenes");
FnScene miniScene;
miniScene.Object(sMiniID);
miniTerrainID = miniScene.CreateObject(ROOT);
FnObject miniTerrain;
miniTerrain.Object(miniTerrainID);
miniTerrain.Load("terrain");
miniTerrain.SetOpacity(0.8f);
// create a camera stand for minimap
miniMapStandID = miniScene.CreateObject(ROOT);
gw.SetObjectPath("Data\\NTU4\\Characters");
anchorID = miniScene.CreateObject(miniMapStandID);
FnObject anchor;
anchor.Object(anchorID);
anchor.Load("arrowGreen");
float pos[]={0,0,10};
anchor.SetPosition(pos);
// create a camera for minimap
miniMapCameraID = miniScene.CreateCamera(miniMapStandID);
FnCamera miniCamera;
miniCamera.Object(miniMapCameraID);
miniCamera.Translate(0.0f, 0.0f, 5000.0f, REPLACE);
miniCamera.SetNear(5.0f);
miniCamera.SetFar(100000.0f);
miniCamera.Rotate(Z_AXIS, 180.0f, LOCAL);
// create a light for minimap camera
FnLight miniLight;
miniLight.Object(miniScene.CreateLight(miniMapCameraID));
miniLight.SetIntensity(1.0f);
miniLight.SetRange(9500.0f);
vpMiniMapID = gw.CreateViewport(x_pos, y_pos, width, height);
}
示例2:
/*-------------------------------------
constructor of classic shadow object
C.Wang 0608, 2007
--------------------------------------*/
FuCShadowModify::FuCShadowModify(SCENEid sID, int rgID)
{
// initialize the shadow
mHost = sID;
mShadowMat = FAILED_MATERIAL_ID;
mViewport = FAILED_ID;
mRenderTarget = FAILED_MATERIAL_ID;
// create the camera
FnScene scene;
FnObject seed;
scene.Object(sID);
m_lightCam.Object( scene.CreateCamera(ROOT) );
// backup the rendering group
int oldRG = scene.GetCurrentRenderGroup();
if (rgID >= 0) {
// set current rendering group
scene.SetCurrentRenderGroup(rgID);
}
// create the seed object for displaying the shadow
mSeed = scene.CreateObject(ROOT);
seed.Object(mSeed);
seed.BindPostRenderFunction(FuShadowDisplayCallback);
seed.SetRenderOption(ALPHA, TRUE);
FuCShadowModify **s = (FuCShadowModify **)seed.InitData(sizeof(FuCShadowModify *));
*s = this;
mShadowHeightOffset = 0.4f;
mShadowSize = 50.0f;
// recover current rendering group
scene.SetCurrentRenderGroup(oldRG);
}