[SOLVED] CS代考计算机代写 /*

30 $

File Name: CS代考计算机代写_/*.zip
File Size: 244.92 KB

SKU: 3763374127 Category: Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Or Upload Your Assignment Here:


/*
Copyright 2011 Etay Meiri

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.If not, see.
*/

#include “headers.h”
#include “gbuffer.h”

GBuffer::GBuffer( unsigned int width, unsigned int height, int nTextures, GLFWwindow *window )

{
// Check that we can attach at least 5 FBOs

GLint maxAttachments;
glGetIntegerv( GL_MAX_COLOR_ATTACHMENTS, &maxAttachments );
if (maxAttachments < 5) {cerr << “Can only attach ” << maxAttachments << ” to an FBO in this version of OpenGL, but 5 are needed.” << endl;exit(1);}// Get framebuffer size (which can be DIFFERENT than the window size, and *is* different on Macs!)glfwGetFramebufferSize( window, &fbWidth, &fbHeight );numTextures = nTextures;// Create the FBOglGenFramebuffers( 1, &FBO );glBindFramebuffer( GL_FRAMEBUFFER, FBO );// Create the gbuffer texturestextures = new GLuint[ numTextures ];glGenTextures( numTextures, textures );for (int i = 0 ; i < numTextures; i++) {glBindTexture( GL_TEXTURE_2D, textures[i] );glTexImage2D( GL_TEXTURE_2D, 0, GL_RGB16F, fbWidth, fbHeight, 0, GL_RGB, GL_FLOAT, NULL );glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );glFramebufferTexture2D( GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + i, GL_TEXTURE_2D, textures[i], 0 );}// depthglGenTextures( 1, &depthTexture );glBindTexture( GL_TEXTURE_2D, depthTexture );glTexImage2D( GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT32F, fbWidth, fbHeight, 0, GL_DEPTH_COMPONENT, GL_FLOAT, NULL );glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );glFramebufferTexture2D( GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, depthTexture, 0 );// Declare the drawBuffersGLenum *drawBuffers = new GLenum[numTextures];for (int i=0; i Post navigation

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] CS代考计算机代写 /*
30 $