aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorraysan5 <raysan5@gmail.com>2017-07-21 10:42:57 +0200
committerraysan5 <raysan5@gmail.com>2017-07-21 10:42:57 +0200
commit980d9d4cd4ab941afc53bf8a83ea2a18d28ee4e2 (patch)
treea8247bbd4ecc5e32b9e5fca91b1d8d8970b0d834
parent84aff31973667e6bec29915d60971f9a5bb02a44 (diff)
downloadraylib-980d9d4cd4ab941afc53bf8a83ea2a18d28ee4e2.tar.gz
raylib-980d9d4cd4ab941afc53bf8a83ea2a18d28ee4e2.zip
rlgl usable as standalone library
-rw-r--r--examples/others/rlgl_standalone.c4
-rw-r--r--src/rlgl.c16
-rw-r--r--src/rlgl.h15
3 files changed, 18 insertions, 17 deletions
diff --git a/examples/others/rlgl_standalone.c b/examples/others/rlgl_standalone.c
index 70cffee1..5de77bc2 100644
--- a/examples/others/rlgl_standalone.c
+++ b/examples/others/rlgl_standalone.c
@@ -91,7 +91,7 @@ int main(void)
glfwSwapInterval(1);
// Load OpenGL 3.3 supported extensions
- rlglLoadExtensions(glfwGetProcAddress);
+ rlLoadExtensions(glfwGetProcAddress);
//--------------------------------------------------------
// Initialize OpenGL context (states and resources)
@@ -130,7 +130,7 @@ int main(void)
rlClearScreenBuffers(); // Clear current framebuffer
// Calculate projection matrix (from perspective) and view matrix from camera look at
- Matrix matProj = MatrixPerspective(camera.fovy, (double)screenWidth/(double)screenHeight, 0.01, 1000.0);
+ Matrix matProj = MatrixPerspective(camera.fovy*DEG2RAD, (double)screenWidth/(double)screenHeight, 0.01, 1000.0);
MatrixTranspose(&matProj);
Matrix matView = MatrixLookAt(camera.position, camera.target, camera.up);
diff --git a/src/rlgl.c b/src/rlgl.c
index 3160c744..a27645dd 100644
--- a/src/rlgl.c
+++ b/src/rlgl.c
@@ -2548,7 +2548,7 @@ Texture2D GenTextureCubemap(Shader shader, Texture2D skyHDR, int size)
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
// Create projection (transposed) and different views for each face
- Matrix fboProjection = MatrixPerspective(90.0, 1.0, 0.01, 1000.0);
+ Matrix fboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, 0.01, 1000.0);
MatrixTranspose(&fboProjection);
Matrix fboViews[6] = {
MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }),
@@ -2581,7 +2581,7 @@ Texture2D GenTextureCubemap(Shader shader, Texture2D skyHDR, int size)
glBindFramebuffer(GL_FRAMEBUFFER, 0);
// Reset viewport dimensions to default
- glViewport(0, 0, GetScreenWidth(), GetScreenHeight());
+ glViewport(0, 0, screenWidth, screenHeight);
//glEnable(GL_CULL_FACE);
cubemap.width = size;
@@ -2620,7 +2620,7 @@ Texture2D GenTextureIrradiance(Shader shader, Texture2D cubemap, int size)
glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
// Create projection (transposed) and different views for each face
- Matrix fboProjection = MatrixPerspective(90.0, 1.0, 0.01, 1000.0);
+ Matrix fboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, 0.01, 1000.0);
MatrixTranspose(&fboProjection);
Matrix fboViews[6] = {
MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }),
@@ -2653,7 +2653,7 @@ Texture2D GenTextureIrradiance(Shader shader, Texture2D cubemap, int size)
glBindFramebuffer(GL_FRAMEBUFFER, 0);
// Reset viewport dimensions to default
- glViewport(0, 0, GetScreenWidth(), GetScreenHeight());
+ glViewport(0, 0, screenWidth, screenHeight);
irradiance.width = size;
irradiance.height = size;
@@ -2696,7 +2696,7 @@ Texture2D GenTexturePrefilter(Shader shader, Texture2D cubemap, int size)
glGenerateMipmap(GL_TEXTURE_CUBE_MAP);
// Create projection (transposed) and different views for each face
- Matrix fboProjection = MatrixPerspective(90.0, 1.0, 0.01, 1000.0);
+ Matrix fboProjection = MatrixPerspective(90.0*DEG2RAD, 1.0, 0.01, 1000.0);
MatrixTranspose(&fboProjection);
Matrix fboViews[6] = {
MatrixLookAt((Vector3){ 0.0f, 0.0f, 0.0f }, (Vector3){ 1.0f, 0.0f, 0.0f }, (Vector3){ 0.0f, -1.0f, 0.0f }),
@@ -2743,7 +2743,7 @@ Texture2D GenTexturePrefilter(Shader shader, Texture2D cubemap, int size)
glBindFramebuffer(GL_FRAMEBUFFER, 0);
// Reset viewport dimensions to default
- glViewport(0, 0, GetScreenWidth(), GetScreenHeight());
+ glViewport(0, 0, screenWidth, screenHeight);
prefilter.width = size;
prefilter.height = size;
@@ -2783,7 +2783,7 @@ Texture2D GenTextureBRDF(Shader shader, Texture2D cubemap, int size)
glBindFramebuffer(GL_FRAMEBUFFER, 0);
// Reset viewport dimensions to default
- glViewport(0, 0, GetScreenWidth(), GetScreenHeight());
+ glViewport(0, 0, screenWidth, screenHeight);
brdf.width = size;
brdf.height = size;
@@ -3985,7 +3985,7 @@ static void SetStereoConfig(VrDeviceInfo hmd)
// Compute camera projection matrices
float projOffset = 4.0f*lensShift; // Scaled to projection space coordinates [-1..1]
- Matrix proj = MatrixPerspective(fovy, aspect, 0.01, 1000.0);
+ Matrix proj = MatrixPerspective(fovy*DEG2RAD, aspect, 0.01, 1000.0);
vrConfig.eyesProjection[0] = MatrixMultiply(proj, MatrixTranslate(projOffset, 0.0f, 0.0f));
vrConfig.eyesProjection[1] = MatrixMultiply(proj, MatrixTranslate(-projOffset, 0.0f, 0.0f));
diff --git a/src/rlgl.h b/src/rlgl.h
index d1b495b6..a9ee6ec6 100644
--- a/src/rlgl.h
+++ b/src/rlgl.h
@@ -435,19 +435,20 @@ void UnloadShader(Shader shader); // Unload a custom shade
Shader GetShaderDefault(void); // Get default shader
Texture2D GetTextureDefault(void); // Get default texture
+// Shader configuration functions
int GetShaderLocation(Shader shader, const char *uniformName); // Get shader uniform location
void SetShaderValue(Shader shader, int uniformLoc, float *value, int size); // Set shader uniform value (float)
void SetShaderValuei(Shader shader, int uniformLoc, int *value, int size); // Set shader uniform value (int)
void SetShaderValueMatrix(Shader shader, int uniformLoc, Matrix mat); // Set shader uniform value (matrix 4x4)
-
-void SetMatrixProjection(Matrix proj); // Set a custom projection matrix (replaces internal projection matrix)
-void SetMatrixModelview(Matrix view); // Set a custom modelview matrix (replaces internal modelview matrix)
+void SetMatrixProjection(Matrix proj); // Set a custom projection matrix (replaces internal projection matrix)
+void SetMatrixModelview(Matrix view); // Set a custom modelview matrix (replaces internal modelview matrix)
// Texture maps generation (PBR)
-Texture2D GenTextureCubemap(Texture2D skyHDR, int size); // Generate cubemap texture map from HDR texture
-Texture2D GenTextureIrradiance(Texture2D cubemap, int size); // Generate irradiance texture map
-Texture2D GenTexturePrefilter(Texture2D cubemap, int size); // Generate prefilter texture map
-Texture2D GenTextureBRDF(Texture2D cubemap, int size); // Generate BRDF texture map
+// NOTE: Required shaders should be provided
+Texture2D GenTextureCubemap(Shader shader, Texture2D skyHDR, int size); // Generate cubemap texture from HDR texture
+Texture2D GenTextureIrradiance(Shader shader, Texture2D cubemap, int size); // Generate irradiance texture using cubemap data
+Texture2D GenTexturePrefilter(Shader shader, Texture2D cubemap, int size); // Generate prefilter texture using cubemap data
+Texture2D GenTextureBRDF(Shader shader, Texture2D cubemap, int size); // Generate BRDF texture using cubemap data
// Shading and blending
void BeginShaderMode(Shader shader); // Begin custom shader drawing