Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // RenderUtils
- def applyCamera(cam: Camera, eye: Vector3): Unit = {
- GL11.glViewport(cam.viewport.x, mc.displayHeight - cam.viewport.end.y, cam.viewport.width, cam.viewport.height)
- GL11.glClear(GL11.GL_DEPTH_BUFFER_BIT)
- GL11.glMatrixMode(GL11.GL_PROJECTION)
- loadMatrix(cam.transposedProjectionMatrix)
- GL11.glMatrixMode(GL11.GL_MODELVIEW)
- loadMatrix(cam.transposedViewMatrix)
- GL11.glTranslated(-eye.x, -eye.y, -eye.z)
- }
- // cam (custom view entity)
- class CameraEntity extends Entity(snapshot) {
- val camera = new Camera(null, null, null)
- def updateCamera(viewport: Rectangle): Boolean = {
- camera.viewport = viewport
- camera.projectionMatrix = MathUtils.createProjectionMatrixAsPerspective(30, 0.05, 50, viewport.width, viewport.height)
- camera.viewMatrix = MathUtils.createMatrixAsLookAt(getPositionVector, Vector3.Zero, Vector3(0, 1, 0))
- camera.isValid
- }
- override def entityInit(): Unit = ()
- override def writeEntityToNBT(tagCompound: NBTTagCompound): Unit = ()
- override def readEntityFromNBT(tagCompound: NBTTagCompound): Unit = ()
- }
- // draw
- GlStateManager.pushMatrix()
- if (cam.updateCamera(utils.revertScale(screenBounds))) {
- RenderUtils.applyCamera(cam.camera, cam.getPositionVector)
- MFWorldRenderer.renderWorld(cam, snapshot)
- RenderUtils.setupOverlayRendering()
- }
- GlStateManager.popMatrix()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement