#include "include/Render/SalmonRender/SalmonRenderWindows.h" #include "include/OpenGLExt/OpenGlExt.h" #include "include/Utils/Utils.h" #include "include/Engine.h" namespace SE { //=================================================== //================ RENDER =========================== //=================================================== TSalmonRenderer::TSalmonRenderer() : ShadowClampValue(0.0f), LandToCalcCollision(NULL), IsCameraTransparentToLand(true) { } TSalmonRenderer::~TSalmonRenderer() { } bool TSalmonRenderer::BindOpenGLFunctions() { char* extensionList = (char*)glGetString(GL_EXTENSIONS); char* glVersion = (char*)glGetString(GL_VERSION); bool ok = true; *Console< 1.0f) ShadowClampValue = 1.0f; RenderUniform1f(CONST_STRING_SHADOWCLAMPVALUE_UNIFORM, ShadowClampValue); } void TSalmonRenderer::DrawTriangleList(const TTriangleList& triangleList) { BOOST_FOREACH(auto& i, triangleList.Data.Vec2CoordArr) { glBindBuffer(GL_ARRAY_BUFFER, triangleList.VertBufferArr[i.first]->Buffer); VertexAttribPointer2fv(i.first, 0, NULL); } BOOST_FOREACH(auto& i, triangleList.Data.Vec3CoordArr) { glBindBuffer(GL_ARRAY_BUFFER, triangleList.VertBufferArr[i.first]->Buffer); VertexAttribPointer3fv(i.first, 0, NULL); } if (!triangleList.Data.Vec3CoordArr.empty()) { glDrawArrays(GL_TRIANGLES,0,triangleList.Data.Vec3CoordArr[CONST_STRING_POSITION_ATTRIB].size()); } } } //namespace SE