Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void render()
- {
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- const glm::mat4 mvp = camera.transformation();
- suzanne1->draw(mvp);
- teapot1->draw(mvp);
- bunny1->draw(mvp);
- glEnable(GL_STENCIL_TEST);
- glStencilFunc(GL_ALWAYS, 1, 0xFF);
- glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);
- glStencilMask(0xFF);
- glDepthMask(GL_FALSE);
- glClear(GL_STENCIL_BUFFER_BIT);
- mirror1->draw(mvp);
- glStencilFunc(GL_EQUAL, 1, 0xFF);
- glStencilMask(0x00);
- glDepthMask(GL_TRUE);
- const glm::mat4 mirror_mvp = glm::scale(camera.transformation(), glm::vec3(1.0f, 1.0f, -1.0f))
- * glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 0.0f, 10.0f));
- suzanne1->draw(mirror_mvp);
- teapot1->draw(mirror_mvp);
- bunny1->draw(mirror_mvp);
- glDisable(GL_STENCIL_TEST);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement