[Blender] shadow mapping SORRY
Nikolaus Leopold
nikolaus.leopold at gmail.com
Thu Jun 18 17:06:20 CEST 2015
Bitte vielmals um entschuldigung!!!!! Diese Mail ging an den falschen
Empfänger! :/
mfG
Nikolaus
On 2015-06-18 11:54, Nikolaus Leopold wrote:
> vlt ist da was hilfreicehes dabei aber ich weiß nicht
>
> //// depths from light position for shading mapping
>
> // set viewport and bind framebuffer
> glViewport(0, 0, SM_WIDTH, SM_HEIGHT);
> glBindFramebuffer(GL_FRAMEBUFFER, depthMapFBO);
> glClear(GL_DEPTH_BUFFER_BIT);
>
> // calculate lights projection and view Matrix
> GLfloat nearPlane = 50.f, farPlane = 400.f;
> glm::mat4 lightProjection = glm::ortho(-100.0f, 100.0f,
> -100.0f, 100.0f, nearPlane, farPlane);
> //glm::mat4 lightProjection = glm::perspective(100.f,
> (GLfloat) SM_WIDTH / (GLfloat) SM_HEIGHT, nearPlane, farPlane);
> glm::mat4 lightView = glm::lookAt(sun->getLocation(),
> glm::vec3(0.f), glm::vec3(0, 1, 0));
> glm::mat4 lightVP = lightProjection * lightView;
>
> // prepare shader
> Shader *lastShader = activeShader;
> setActiveShader(depthMapShader);
> GLint lightVPLocation =
> glGetUniformLocation(activeShader->programHandle, "lightVP");
> glUniformMatrix4fv(lightVPLocation, 1, GL_FALSE,
> glm::value_ptr(lightVP));
>
> // render
>
> drawScene();
>
> // bind default FB and reset viewport
> glBindFramebuffer(GL_FRAMEBUFFER, 0);
> glViewport(0, 0, windowWidth, windowHeigth);
>
> setActiveShader(textureShader);
>
> glUniformMatrix4fv(glGetUniformLocation(activeShader->programHandle,
> "viewMat"), 1, GL_FALSE, glm::value_ptr(player->getViewMat()));
> glUniformMatrix4fv(glGetUniformLocation(activeShader->programHandle,
> "lightVP"), 1, GL_FALSE, glm::value_ptr(lightVP));
>
> GLint shadowMapLocation =
> glGetUniformLocation(activeShader->programHandle, "shadowMap");
> glUniform1i(shadowMapLocation, 1);
> glActiveTexture(GL_TEXTURE0 + 1);
> glBindTexture(GL_TEXTURE_2D, depthMap);
More information about the Blender
mailing list