void init_objects() { { // plane ogl::CPlaneObjectBuilder* pObjectBuilder = new ogl::CPlaneObjectBuilder; pObjectBuilder->setWidth(20.0f); pObjectBuilder->setHeight(20.0f); pObjectBuilder->setSubdivisions(1); // pObjectBuilder->addOption(ogl::CObjectBuilder::INVERTED); pObjectP = pObjectBuilder->build(); delete pObjectBuilder; } { // box from box-builder // ogl::CBoxObjectBuilder* pObjectBuilder = new ogl::CBoxObjectBuilder; // pObjectBuilder->setWidth(1.0f); // pObjectBuilder->setHeight(1.0f); // pObjectBuilder->setDepth(1.0f); // pObject = pObjectBuilder->build(); // pObject->setM(math::translate(0.0f, -1.0f, 5.0f) * math::scale(10.0f)); // delete pObjectBuilder; } { // random mesh ogl::CAssimpObjectBuilder* pObjectBuilder = new ogl::CAssimpObjectBuilder; pObjectBuilder->setFile("box/box.obj"); pObjectBuilder->addOption(ogl::CObjectBuilder::NORMALIZED); pObject1 = pObjectBuilder->build(); pObject1->setM(math::translate(0.0f, 0.0f, 2.0f)); delete pObjectBuilder; } { // skybox ogl::CAssimpObjectBuilder* pObjectBuilder = new ogl::CAssimpObjectBuilder; pObjectBuilder->setFile("skybox/skydome.obj"); pObjectBuilder->addOption(ogl::CObjectBuilder::NORMALIZED); pObjectS = pObjectBuilder->build(); pObjectS->setM(math::scale(20.0f)); delete pObjectBuilder; } { // billboarding ogl::CPlaneObjectBuilder* pObjectBuilder = new ogl::CPlaneObjectBuilder; pObjectBuilder->setWidth(18.0f); pObjectBuilder->setHeight(18.0f); pObjectBuilder->setSubdivisions(6); // pObjectBuilder->addOption(ogl::CObjectBuilder::INVERTED); pObjectB = pObjectBuilder->build(); delete pObjectBuilder; ogl::CPngTextureBuilder* pTextureBuilder = new ogl::CPngTextureBuilder; pTextureBuilder->setFile("monster.png"); ogl::CTexture* pTexture = pTextureBuilder->build(); pTexture->setWrapping(ogl::CTexture::EWrapping::CLAMP_TO_BORDER); delete pTextureBuilder; ogl::CMaterial* pMaterial = new ogl::CMaterial; pMaterial->setTexture(ogl::CTexture::EScope::DIFFUSE, pTexture); pObjectB->setMode(GL_POINTS); pObjectB->getShape(0)->setMaterial(pMaterial); } }
void init_objects() { { // plane ogl::CPlaneObjectBuilder* pObjectBuilder = new ogl::CPlaneObjectBuilder; pObjectBuilder->setWidth(10.0f); pObjectBuilder->setHeight(10.0f); pObjectBuilder->setSubdivisions(10); //pObjectBuilder->addOption(ogl::CPlaneObjectBuilder::REPEAT_UV); pObjectBuilder->addOption(ogl::CPlaneObjectBuilder::TANGENTS); //pObjectBuilder->addOption(ogl::CObjectBuilder::INVERTED); pObjectP = pObjectBuilder->build(); ogl::CDdsTextureBuilder* pTextureBuilder = new ogl::CDdsTextureBuilder; pTextureBuilder->setFile("ground/rocks_d.dds"); pObjectP->getShape(0)->getMaterial()->setTexture(ogl::CTexture::EScope::DIFFUSE, pTextureBuilder->build()); pTextureBuilder->setFile("ground/rocks_h.dds"); pObjectP->getShape(0)->getMaterial()->setTexture(ogl::CTexture::EScope::HEIGHT, pTextureBuilder->build()); // displacement delete pObjectBuilder; } { ogl::CAssimpObjectBuilder* pObjectBuilder = new ogl::CAssimpObjectBuilder; pObjectBuilder->setFile("monkey/monkey.obj"); pObjectBuilder->addOption(ogl::CObjectBuilder::NORMALIZED); pObject0 = pObjectBuilder->build(); pObject0->setM(math::translate(0.0f, 2.0f, 0.0f) * math::rotate(-90.0f, math::X)); delete pObjectBuilder; } }
void load_objects() { ogl::CBoxObjectBuilder* pObjectBuilder = new ogl::CBoxObjectBuilder; pObjectBuilder->setWidth(1.0f); pObjectBuilder->setHeight(1.0f); pObjectBuilder->setDepth(1.0f); pObject = pObjectBuilder->build(); pObject->setM(math::rotate(45.0f, math::Z) * math::translate(0.0f, 0.0f, 4.0f)); delete pObjectBuilder; }
void init_objects() { { ogl::CPlaneObjectBuilder* pObjectBuilder = new ogl::CPlaneObjectBuilder; pObjectBuilder->setWidth(10.0f); pObjectBuilder->setHeight(10.0f); pObjectBuilder->setSubdivisions(1); // pObjectBuilder->addOption(ogl::CObjectBuilder::INVERTED); pObjectQ = pObjectBuilder->build(); delete pObjectBuilder; } { // ogl::CBoxObjectBuilder* pObjectBuilder = new ogl::CBoxObjectBuilder; // pObjectBuilder->setWidth(1.0f); // pObjectBuilder->setHeight(1.0f); // pObjectBuilder->setDepth(1.0f); // pObject = pObjectBuilder->build(); // pObject->setM(math::translate(0.0f, -1.0f, 5.0f) * math::scale(10.0f)); // delete pObjectBuilder; } { ogl::CAssimpObjectBuilder* pObjectBuilder = new ogl::CAssimpObjectBuilder; pObjectBuilder->setFile("box/box.obj"); pObjectBuilder->addOption(ogl::CObjectBuilder::NORMALIZED); pObject1 = pObjectBuilder->build(); pObject1->setM(math::translate(0.0f, 0.0f, 2.0f)); delete pObjectBuilder; } { ogl::CAssimpObjectBuilder* pObjectBuilder = new ogl::CAssimpObjectBuilder; pObjectBuilder->setFile("skybox/skydome.obj"); pObjectBuilder->addOption(ogl::CObjectBuilder::NORMALIZED); pObjectS = pObjectBuilder->build(); pObjectS->setM(math::scale(20.0f)); delete pObjectBuilder; } }