浏览代码

REVIEWED: GenTextureCubemap(), use rlgl functionality only

Function has been reviewed to avoid any direct OpenGL call and use rlgl functionality, also, GenDrawCube() has been replaced by the internal batch system with DrawCube().

WARNING: rlEnableTexture() call must be issued after enabling the current framebuffer when using batch mechanism because it includes a set of security checks to avoid batch overflow and push/pop matrix operations.
pull/1394/head
raysan5 5 年前
父节点
当前提交
fe8bf2fa55
共有 1 个文件被更改,包括 9 次插入3 次删除
  1. +9
    -3
      src/rlgl.h

+ 9
- 3
src/rlgl.h 查看文件

@ -3327,8 +3327,8 @@ TextureCubemap GenTextureCubemap(Shader shader, Texture2D panorama, int size, in
};
rlEnableShader(shader.id);
glActiveTexture(GL_TEXTURE0);
glBindTexture(GL_TEXTURE_2D, panorama.id);
o">//glActiveTexture(GL_TEXTURE0);
o">//glBindTexture(GL_TEXTURE_2D, panorama.id);
rlViewport(0, 0, size, size); // Set viewport to current fbo dimensions
@ -3338,8 +3338,14 @@ TextureCubemap GenTextureCubemap(Shader shader, Texture2D panorama, int size, in
rlFramebufferAttach(fbo, cubemap.id, RL_ATTACHMENT_COLOR_CHANNEL0, RL_ATTACHMENT_CUBEMAP_POSITIVE_X + i);
rlEnableFramebuffer(fbo);
rlEnableTexture(panorama.id); // WARNING: It must be called after enabling current framebuffer if using internal batch system!
rlClearScreenBuffers();
GenDrawCube();
//GenDrawCube();
// Using internal batch system instead of raw OpenGL cube creating+drawing
DrawCubeV(Vector3Zero(), Vector3One(), WHITE);
DrawRenderBatch(RLGL.currentBatch);
}
//------------------------------------------------------------------------------------------

正在加载...
取消
保存