@@ -137,8 +137,9 @@ void setUpNMRendering(kore::SceneNode* renderNode,
137
137
kore::LightComponent* light) {
138
138
139
139
kore::NodePass* nodePass = new kore::NodePass;
140
- const kore::ShaderProgram* nmShader =
140
+ kore::ShaderProgram* nmShader =
141
141
programPass->getShaderProgram ();
142
+
142
143
kore::MeshComponent* pMeshComponent =
143
144
static_cast <kore::MeshComponent*>
144
145
(renderNode->getComponent (kore::COMPONENT_MESH));
@@ -307,6 +308,14 @@ int main(void) {
307
308
nmShader->loadShader (" ./assets/shader/normalmapping.frag" ,
308
309
GL_FRAGMENT_SHADER);
309
310
nmShader->init ();
311
+ kore::TexSamplerProperties props;
312
+ props.minfilter = GL_LINEAR_MIPMAP_NEAREST;
313
+ props.magfilter = GL_LINEAR;
314
+ props.type = GL_SAMPLER_2D;
315
+ props.wrapping = glm::vec3 (GL_REPEAT);
316
+
317
+ nmShader->setSamplerProperties (0 ,props);
318
+ nmShader->setSamplerProperties (1 ,props);
310
319
simpleShader->setName (" normal mapping Shader" );
311
320
// load resources
312
321
kore::ResourceManager::getInstance ()
@@ -321,10 +330,12 @@ int main(void) {
321
330
kore::Texture* stoneTexture =
322
331
kore::ResourceManager::getInstance ()->
323
332
loadTexture (" ./assets/textures/stonewall.png" );
333
+ stoneTexture->genMipmapHierarchy ();
324
334
325
335
kore::Texture* stoneNormalmap =
326
336
kore::ResourceManager::getInstance ()->
327
337
loadTexture (" ./assets/textures/stonewall_NM_height.png" );
338
+ stoneNormalmap->genMipmapHierarchy ();
328
339
329
340
// find camera
330
341
kore::SceneNode* pCameraNode = kore::SceneManager::getInstance ()
@@ -344,10 +355,13 @@ int main(void) {
344
355
getSceneNodesByComponent (kore::COMPONENT_MESH, vRenderNodes);
345
356
346
357
347
- GLenum drawBuffers[] = {GL_COLOR_ATTACHMENT0};
358
+ std::vector<GLenum> drawBufs;
359
+ drawBufs.clear ();
360
+ drawBufs.push_back (GL_COLOR_ATTACHMENT0);
348
361
kore::FrameBufferStage* backBufferStage = new kore::FrameBufferStage;
362
+ backBufferStage->setActiveAttachments (drawBufs);
349
363
backBufferStage->setFrameBuffer (kore::FrameBuffer::BACKBUFFER);
350
- backBufferStage-> setActiveAttachments (drawBuffers, 1 );
364
+
351
365
352
366
kore::ShaderProgramPass* shaderProgPass = new kore::ShaderProgramPass;
353
367
// shaderProgPass->setShaderProgram(simpleShader);
0 commit comments