bool DemoApp::LoadContent(){ ObjParser reader; reader.Read(GetFullPath("assets/cube.obj").c_str(), &_scene); _scene.renderType = Scene::RENDER_TYPE_FRAME; _scene.camera = &_camera; _scene.lightList[0] = new Light(); _scene.lightList[0]->type = Light::TYPE_DIRECTION; _scene.lightList[0]->ambientColor = Color{ 0.0f, 0.0f, 0.0f, 0.3f }; _scene.lightList[0]->diffuseColor = Color{ 1.0f, 0.0f, 0.0f, 1.0f }; _scene.lightList[0]->specularColor = Color{ 1.0f, 1.0f, 1.0f, 1.0f }; _scene.lightList[0]->pos = Vector3D(0.0f, 0.0f, 0.0f); _scene.lightList[0]->dir = Vector3D(1.0f, -1.0f, 1.0f); _scene.lightList[1] = new Light(); _scene.lightList[1]->type = Light::TYPE_POINT; _scene.lightList[1]->ambientColor = Color{ 0.0f, 0.0f, 0.0f, 1.0f }; _scene.lightList[1]->diffuseColor = Color{ 1.0f, 0.0f, 1.0f, 1.0f }; _scene.lightList[1]->specularColor = Color{ 0.0f, 0.0f, 0.0f, 1.0f }; _scene.lightList[1]->pos = Vector3D(2.0f, 0.0f, 0.0f); _scene.lightList[1]->range = 200.0f; _scene.lightList[1]->kc = 0.0f; _scene.lightList[1]->kl = 1.0f; _scene.lightList[1]->kq = 0.0f; _scene.lightNum = 2; /*准备顶点缓冲数据*/ _currMesh = _scene.GetMesh(0); PreSetVSConstBufferSize(_currMesh, sizeof(MVPConstBuffer)); PreSetPSConstBufferSize(_currMesh, sizeof(PhongConstBuffer)); InitVisual(_currMesh, L"shader/Phong.fx", "assets/t_02.dds"); return true; }