本文整理汇总了C#中IModel.SetModelMaterial方法的典型用法代码示例。如果您正苦于以下问题:C# IModel.SetModelMaterial方法的具体用法?C# IModel.SetModelMaterial怎么用?C# IModel.SetModelMaterial使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IModel
的用法示例。
在下文中一共展示了IModel.SetModelMaterial方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Init
void Init(IntPtr pParam)
{
TMatrix4x4 mat = TMatrix4x4.MatrixIdentity;
transform = new TTransformStack(ref mat);
rand = new Random();
IEngineSubSystem p_sub_sys = null;
IResourceManager p_res_man = null;
pEngineCore.GetSubSystem(E_ENGINE_SUB_SYSTEM.ESS_RESOURCE_MANAGER, out p_sub_sys);
p_res_man = (IResourceManager)p_sub_sys;
pEngineCore.GetSubSystem(E_ENGINE_SUB_SYSTEM.ESS_RENDER, out p_sub_sys);
p_render = (IRender)p_sub_sys;
p_render.GetRender3D(out pRender3D);
IEngineBaseObject p_obj = null;
p_res_man.Load(RESOURCE_PATH + "textures\\floor.dds", out p_obj, (uint)E_TEXTURE_LOAD_FLAGS.TEXTURE_LOAD_DEFAULT_3D);
pTexFloor = (ITexture)p_obj;
p_res_man.Load(RESOURCE_PATH + "sprites\\light.jpg", out p_obj, (uint)E_TEXTURE_LOAD_FLAGS.TEXTURE_LOAD_DEFAULT_2D);
pTexLight = (ITexture)p_obj;
// some global lighting
pRender3D.ToggleLighting(true);
TColor4 col = TColor4.ColorBlack();
pRender3D.SetGlobalAmbientLighting(ref col); // turn off ambient lighting
// setup lights
// use single directional light to simulate ambient lighting
p_res_man.CreateLight(out pLightDirect);
pLightDirect.SetType(E_LIGHT_TYPE.LT_DIRECTIONAL);
col = TColor4.ColorGray();
pLightDirect.SetColor(ref col); // dim light
TPoint3 p3 = new TPoint3(-0.5f, 0.5f, 0.75f);
pLightDirect.SetDirection(ref p3);
pLightDirect.SetEnabled(true);
// Position is ignored for direction lights but is used by engine for debug drawing.
// Use "rnd3d_draw_lights 1" console command to debug lights.
p3 = new TPoint3(0f, 7.5f, 0f);
pLightDirect.SetPosition(ref p3);
// create light for the table-lamp
p_res_man.CreateLight(out pLightSpot);
pLightSpot.SetType(E_LIGHT_TYPE.LT_SPOT);
col = TColor4.ColorYellow();
pLightSpot.SetColor(ref col);
pLightSpot.SetSpotAngle(100f);
p3 = new TPoint3(0.15f, 0f, -1f);
pLightSpot.SetDirection(ref p3);
pLightSpot.SetEnabled(true);
// create and setup materials and load models
ITexture p_tex;
IMaterial p_mat;
// desk
p_res_man.CreateMaterial(out p_mat);
p_res_man.Load(RESOURCE_PATH + "meshes\\furniture\\desk\\desk_diff.jpg", out p_obj, (uint)E_TEXTURE_LOAD_FLAGS.TEXTURE_LOAD_DEFAULT_3D);
p_tex = (ITexture)p_obj;
p_mat.SetDiffuseTexture(p_tex);
p_res_man.Load(RESOURCE_PATH + "meshes\\furniture\\desk\\desk.dmd", out p_obj, 0);
pMdlDesk = (IModel)p_obj;
pMdlDesk.SetModelMaterial(p_mat);
// table-lamp
p_res_man.CreateMaterial(out p_mat);
p_res_man.Load(RESOURCE_PATH + "meshes\\furniture\\table_lamp\\lamp_diff.jpg", out p_obj, (uint)E_TEXTURE_LOAD_FLAGS.TEXTURE_LOAD_DEFAULT_3D);
p_tex = (ITexture)p_obj;
p_mat.SetDiffuseTexture(p_tex);
p_res_man.Load(RESOURCE_PATH + "meshes\\furniture\\table_lamp\\lamp.dmd", out p_obj, 0);
pMdlLamp = (IModel)p_obj;
pMdlLamp.SetModelMaterial(p_mat);
// chair
p_res_man.CreateMaterial(out p_mat);
p_res_man.Load(RESOURCE_PATH + "meshes\\furniture\\chair\\chair_diff.jpg", out p_obj, (uint)E_TEXTURE_LOAD_FLAGS.TEXTURE_LOAD_DEFAULT_3D);
p_tex = (ITexture)p_obj;
p_mat.SetDiffuseTexture(p_tex);
p_res_man.Load(RESOURCE_PATH + "meshes\\furniture\\chair\\chair.dmd", out p_obj, 0);
pMdlChair = (IModel)p_obj;
pMdlChair.SetModelMaterial(p_mat);
// music box
p_res_man.CreateMaterial(out p_mat);
p_res_man.Load(RESOURCE_PATH + "meshes\\furniture\\music_box\\mbox_d.dds", out p_obj, (uint)E_TEXTURE_LOAD_FLAGS.TEXTURE_LOAD_DEFAULT_3D);
p_tex = (ITexture)p_obj;
p_mat.SetDiffuseTexture(p_tex);
p_res_man.Load(RESOURCE_PATH + "meshes\\furniture\\music_box\\music_box.dmd", out p_obj, 0);
pMdlMusicBox = (IModel)p_obj;
pMdlMusicBox.SetModelMaterial(p_mat);
// church
p_res_man.Load(RESOURCE_PATH + "meshes\\church\\church.dmd", out p_obj, 0);
pModelChurch = (IModel)p_obj;
pModelChurch.SetModelMaterial(p_mat);
p_res_man.CreateMaterial(out p_mat);
//.........这里部分代码省略.........