Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
57fcb49744
10
src/core.c
10
src/core.c
|
|
@ -301,7 +301,7 @@ static int renderOffsetX = 0; // Offset X from render area (mu
|
||||||
static int renderOffsetY = 0; // Offset Y from render area (must be divided by 2)
|
static int renderOffsetY = 0; // Offset Y from render area (must be divided by 2)
|
||||||
static bool fullscreen = false; // Fullscreen mode (useful only for PLATFORM_DESKTOP)
|
static bool fullscreen = false; // Fullscreen mode (useful only for PLATFORM_DESKTOP)
|
||||||
static bool alwaysRun = false; // Keep window update/draw running on minimized
|
static bool alwaysRun = false; // Keep window update/draw running on minimized
|
||||||
static Matrix screenScaling; // Matrix to scale screen (framebuffer rendering)
|
static Matrix screenScaling = { 0 }; // Matrix to scale screen (framebuffer rendering)
|
||||||
|
|
||||||
#if defined(PLATFORM_RPI)
|
#if defined(PLATFORM_RPI)
|
||||||
static EGL_DISPMANX_WINDOW_T nativeWindow; // Native window (graphic device)
|
static EGL_DISPMANX_WINDOW_T nativeWindow; // Native window (graphic device)
|
||||||
|
|
@ -312,7 +312,7 @@ static EGLDisplay display; // Native display device (physic
|
||||||
static EGLSurface surface; // Surface to draw on, framebuffers (connected to context)
|
static EGLSurface surface; // Surface to draw on, framebuffers (connected to context)
|
||||||
static EGLContext context; // Graphic context, mode in which drawing can be done
|
static EGLContext context; // Graphic context, mode in which drawing can be done
|
||||||
static EGLConfig config; // Graphic config
|
static EGLConfig config; // Graphic config
|
||||||
static uint64_t baseTime; // Base time measure for hi-res timer
|
static uint64_t baseTime = 0; // Base time measure for hi-res timer
|
||||||
static bool windowShouldClose = false; // Flag to set window for closing
|
static bool windowShouldClose = false; // Flag to set window for closing
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
@ -342,7 +342,7 @@ static int exitKey = KEY_ESCAPE; // Default exit key (ESC)
|
||||||
#if defined(PLATFORM_RPI)
|
#if defined(PLATFORM_RPI)
|
||||||
// NOTE: For keyboard we will use the standard input (but reconfigured...)
|
// NOTE: For keyboard we will use the standard input (but reconfigured...)
|
||||||
static struct termios defaultKeyboardSettings; // Used to store default keyboard settings
|
static struct termios defaultKeyboardSettings; // Used to store default keyboard settings
|
||||||
static int defaultKeyboardMode; // Used to store default keyboard mode
|
static int defaultKeyboardMode = 0; // Used to store default keyboard mode
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Mouse states
|
// Mouse states
|
||||||
|
|
@ -384,8 +384,8 @@ typedef struct{
|
||||||
char Tail;
|
char Tail;
|
||||||
} KeyEventFifo;
|
} KeyEventFifo;
|
||||||
|
|
||||||
static KeyEventFifo lastKeyPressedEvdev; // Buffer for holding keydown events as they arrive (Needed due to multitreading of event workers)
|
static KeyEventFifo lastKeyPressedEvdev = { 0 }; // Buffer for holding keydown events as they arrive (Needed due to multitreading of event workers)
|
||||||
static char currentKeyStateEvdev[512] = { 0 }; // Registers current frame key state from event based driver (Needs to be seperate because the legacy console based method clears keys on every frame)
|
static char currentKeyStateEvdev[512] = { 0 }; // Registers current frame key state from event based driver (Needs to be seperate because the legacy console based method clears keys on every frame)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if defined(PLATFORM_WEB)
|
#if defined(PLATFORM_WEB)
|
||||||
|
|
|
||||||
50
src/rlgl.h
50
src/rlgl.h
|
|
@ -782,14 +782,14 @@ static DrawCall *draws = NULL;
|
||||||
static int drawsCounter = 0;
|
static int drawsCounter = 0;
|
||||||
|
|
||||||
// Default texture (1px white) useful for plain color polys (required by shader)
|
// Default texture (1px white) useful for plain color polys (required by shader)
|
||||||
static unsigned int defaultTextureId;
|
static unsigned int defaultTextureId = 0;
|
||||||
|
|
||||||
// Default shaders
|
// Default shaders
|
||||||
static unsigned int defaultVShaderId; // Default vertex shader id (used by default shader program)
|
static unsigned int defaultVShaderId = 0; // Default vertex shader id (used by default shader program)
|
||||||
static unsigned int defaultFShaderId; // Default fragment shader Id (used by default shader program)
|
static unsigned int defaultFShaderId = 0; // Default fragment shader Id (used by default shader program)
|
||||||
|
|
||||||
static Shader defaultShader; // Basic shader, support vertex color and diffuse texture
|
static Shader defaultShader = { 0 }; // Basic shader, support vertex color and diffuse texture
|
||||||
static Shader currentShader; // Shader to be used on rendering (by default, defaultShader)
|
static Shader currentShader = { 0 }; // Shader to be used on rendering (by default, defaultShader)
|
||||||
|
|
||||||
// Extension supported flag: VAO
|
// Extension supported flag: VAO
|
||||||
static bool vaoSupported = false; // VAO support (OpenGL ES2 could not support VAO extension)
|
static bool vaoSupported = false; // VAO support (OpenGL ES2 could not support VAO extension)
|
||||||
|
|
@ -827,7 +827,7 @@ static PFNGLDELETEVERTEXARRAYSOESPROC glDeleteVertexArrays;
|
||||||
#if defined(SUPPORT_VR_SIMULATOR)
|
#if defined(SUPPORT_VR_SIMULATOR)
|
||||||
// VR global variables
|
// VR global variables
|
||||||
static VrStereoConfig vrConfig = { 0 }; // VR stereo configuration for simulator
|
static VrStereoConfig vrConfig = { 0 }; // VR stereo configuration for simulator
|
||||||
static RenderTexture2D stereoFbo; // VR stereo rendering framebuffer
|
static RenderTexture2D stereoFbo = { 0 }; // VR stereo rendering framebuffer
|
||||||
static bool vrSimulatorReady = false; // VR simulator ready flag
|
static bool vrSimulatorReady = false; // VR simulator ready flag
|
||||||
static bool vrStereoRender = false; // VR stereo rendering enabled/disabled flag
|
static bool vrStereoRender = false; // VR stereo rendering enabled/disabled flag
|
||||||
// NOTE: This flag is useful to render data over stereo image (i.e. FPS)
|
// NOTE: This flag is useful to render data over stereo image (i.e. FPS)
|
||||||
|
|
@ -835,11 +835,11 @@ static bool vrStereoRender = false; // VR stereo rendering enabled/disab
|
||||||
|
|
||||||
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
|
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
|
||||||
|
|
||||||
static int blendMode = 0; // Track current blending mode
|
static int blendMode = 0; // Track current blending mode
|
||||||
|
|
||||||
// Default framebuffer size
|
// Default framebuffer size
|
||||||
static int screenWidth; // Default framebuffer width
|
static int framebufferWidth = 0; // Default framebuffer width
|
||||||
static int screenHeight; // Default framebuffer height
|
static int framebufferHeight = 0; // Default framebuffer height
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
// Module specific Functions Declaration
|
// Module specific Functions Declaration
|
||||||
|
|
@ -1019,7 +1019,7 @@ void rlOrtho(double left, double right, double bottom, double top, double znear,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Set the viewport area (transformation from normalized device coordinates to window coordinates)
|
// Set the viewport area (transformation from normalized device coordinates to window coordinates)
|
||||||
// NOTE: Updates global variables: screenWidth, screenHeight
|
// NOTE: Updates global variables: framebufferWidth, framebufferHeight
|
||||||
void rlViewport(int x, int y, int width, int height)
|
void rlViewport(int x, int y, int width, int height)
|
||||||
{
|
{
|
||||||
glViewport(x, y, width, height);
|
glViewport(x, y, width, height);
|
||||||
|
|
@ -1714,8 +1714,8 @@ void rlglInit(int width, int height)
|
||||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear color and depth buffers (depth buffer required for 3D)
|
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear color and depth buffers (depth buffer required for 3D)
|
||||||
|
|
||||||
// Store screen size into global variables
|
// Store screen size into global variables
|
||||||
screenWidth = width;
|
framebufferWidth = width;
|
||||||
screenHeight = height;
|
framebufferHeight = height;
|
||||||
|
|
||||||
TraceLog(LOG_INFO, "OpenGL default states initialized successfully");
|
TraceLog(LOG_INFO, "OpenGL default states initialized successfully");
|
||||||
}
|
}
|
||||||
|
|
@ -3235,7 +3235,7 @@ Texture2D GenTextureCubemap(Shader shader, Texture2D skyHDR, int size)
|
||||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||||
|
|
||||||
// Reset viewport dimensions to default
|
// Reset viewport dimensions to default
|
||||||
glViewport(0, 0, screenWidth, screenHeight);
|
glViewport(0, 0, framebufferWidth, framebufferHeight);
|
||||||
//glEnable(GL_CULL_FACE);
|
//glEnable(GL_CULL_FACE);
|
||||||
|
|
||||||
// NOTE: Texture2D is a GL_TEXTURE_CUBE_MAP, not a GL_TEXTURE_2D!
|
// NOTE: Texture2D is a GL_TEXTURE_CUBE_MAP, not a GL_TEXTURE_2D!
|
||||||
|
|
@ -3313,7 +3313,7 @@ Texture2D GenTextureIrradiance(Shader shader, Texture2D cubemap, int size)
|
||||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||||
|
|
||||||
// Reset viewport dimensions to default
|
// Reset viewport dimensions to default
|
||||||
glViewport(0, 0, screenWidth, screenHeight);
|
glViewport(0, 0, framebufferWidth, framebufferHeight);
|
||||||
|
|
||||||
irradiance.width = size;
|
irradiance.width = size;
|
||||||
irradiance.height = size;
|
irradiance.height = size;
|
||||||
|
|
@ -3408,7 +3408,7 @@ Texture2D GenTexturePrefilter(Shader shader, Texture2D cubemap, int size)
|
||||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||||
|
|
||||||
// Reset viewport dimensions to default
|
// Reset viewport dimensions to default
|
||||||
glViewport(0, 0, screenWidth, screenHeight);
|
glViewport(0, 0, framebufferWidth, framebufferHeight);
|
||||||
|
|
||||||
prefilter.width = size;
|
prefilter.width = size;
|
||||||
prefilter.height = size;
|
prefilter.height = size;
|
||||||
|
|
@ -3465,7 +3465,7 @@ Texture2D GenTextureBRDF(Shader shader, int size)
|
||||||
glDeleteFramebuffers(1, &fbo);
|
glDeleteFramebuffers(1, &fbo);
|
||||||
|
|
||||||
// Reset viewport dimensions to default
|
// Reset viewport dimensions to default
|
||||||
glViewport(0, 0, screenWidth, screenHeight);
|
glViewport(0, 0, framebufferWidth, framebufferHeight);
|
||||||
|
|
||||||
brdf.width = size;
|
brdf.width = size;
|
||||||
brdf.height = size;
|
brdf.height = size;
|
||||||
|
|
@ -3508,7 +3508,7 @@ void BeginScissorMode(int x, int y, int width, int height)
|
||||||
rlglDraw(); // Force drawing elements
|
rlglDraw(); // Force drawing elements
|
||||||
|
|
||||||
glEnable(GL_SCISSOR_TEST);
|
glEnable(GL_SCISSOR_TEST);
|
||||||
glScissor(x, screenHeight - (y + height), width, height);
|
glScissor(x, framebufferHeight - (y + height), width, height);
|
||||||
}
|
}
|
||||||
|
|
||||||
// End scissor mode
|
// End scissor mode
|
||||||
|
|
@ -3527,7 +3527,7 @@ void InitVrSimulator(void)
|
||||||
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
|
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
|
||||||
// Initialize framebuffer and textures for stereo rendering
|
// Initialize framebuffer and textures for stereo rendering
|
||||||
// NOTE: Screen size should match HMD aspect ratio
|
// NOTE: Screen size should match HMD aspect ratio
|
||||||
stereoFbo = rlLoadRenderTexture(screenWidth, screenHeight, UNCOMPRESSED_R8G8B8A8, 24, false);
|
stereoFbo = rlLoadRenderTexture(framebufferWidth, framebufferHeight, UNCOMPRESSED_R8G8B8A8, 24, false);
|
||||||
|
|
||||||
vrSimulatorReady = true;
|
vrSimulatorReady = true;
|
||||||
#else
|
#else
|
||||||
|
|
@ -3655,8 +3655,8 @@ void ToggleVrMode(void)
|
||||||
vrStereoRender = false;
|
vrStereoRender = false;
|
||||||
|
|
||||||
// Reset viewport and default projection-modelview matrices
|
// Reset viewport and default projection-modelview matrices
|
||||||
rlViewport(0, 0, screenWidth, screenHeight);
|
rlViewport(0, 0, framebufferWidth, framebufferHeight);
|
||||||
projection = MatrixOrtho(0.0, screenWidth, screenHeight, 0.0, 0.0, 1.0);
|
projection = MatrixOrtho(0.0, framebufferWidth, framebufferHeight, 0.0, 0.0, 1.0);
|
||||||
modelview = MatrixIdentity();
|
modelview = MatrixIdentity();
|
||||||
}
|
}
|
||||||
else vrStereoRender = true;
|
else vrStereoRender = true;
|
||||||
|
|
@ -3694,12 +3694,12 @@ void EndVrDrawing(void)
|
||||||
rlClearScreenBuffers(); // Clear current framebuffer
|
rlClearScreenBuffers(); // Clear current framebuffer
|
||||||
|
|
||||||
// Set viewport to default framebuffer size (screen size)
|
// Set viewport to default framebuffer size (screen size)
|
||||||
rlViewport(0, 0, screenWidth, screenHeight);
|
rlViewport(0, 0, framebufferWidth, framebufferHeight);
|
||||||
|
|
||||||
// Let rlgl reconfigure internal matrices
|
// Let rlgl reconfigure internal matrices
|
||||||
rlMatrixMode(RL_PROJECTION); // Enable internal projection matrix
|
rlMatrixMode(RL_PROJECTION); // Enable internal projection matrix
|
||||||
rlLoadIdentity(); // Reset internal projection matrix
|
rlLoadIdentity(); // Reset internal projection matrix
|
||||||
rlOrtho(0.0, screenWidth, screenHeight, 0.0, 0.0, 1.0); // Recalculate internal projection matrix
|
rlOrtho(0.0, framebufferWidth, framebufferHeight, 0.0, 0.0, 1.0); // Recalculate internal projection matrix
|
||||||
rlMatrixMode(RL_MODELVIEW); // Enable internal modelview matrix
|
rlMatrixMode(RL_MODELVIEW); // Enable internal modelview matrix
|
||||||
rlLoadIdentity(); // Reset internal modelview matrix
|
rlLoadIdentity(); // Reset internal modelview matrix
|
||||||
|
|
||||||
|
|
@ -3742,8 +3742,8 @@ void EndVrDrawing(void)
|
||||||
currentShader = defaultShader;
|
currentShader = defaultShader;
|
||||||
|
|
||||||
// Reset viewport and default projection-modelview matrices
|
// Reset viewport and default projection-modelview matrices
|
||||||
rlViewport(0, 0, screenWidth, screenHeight);
|
rlViewport(0, 0, framebufferWidth, framebufferHeight);
|
||||||
projection = MatrixOrtho(0.0, screenWidth, screenHeight, 0.0, 0.0, 1.0);
|
projection = MatrixOrtho(0.0, framebufferWidth, framebufferHeight, 0.0, 0.0, 1.0);
|
||||||
modelview = MatrixIdentity();
|
modelview = MatrixIdentity();
|
||||||
|
|
||||||
rlDisableDepthTest();
|
rlDisableDepthTest();
|
||||||
|
|
@ -4409,7 +4409,7 @@ static void SetStereoView(int eye, Matrix matProjection, Matrix matModelView)
|
||||||
Matrix eyeModelView = matModelView;
|
Matrix eyeModelView = matModelView;
|
||||||
|
|
||||||
// Setup viewport and projection/modelview matrices using tracking data
|
// Setup viewport and projection/modelview matrices using tracking data
|
||||||
rlViewport(eye*screenWidth/2, 0, screenWidth/2, screenHeight);
|
rlViewport(eye*framebufferWidth/2, 0, framebufferWidth/2, framebufferHeight);
|
||||||
|
|
||||||
// Apply view offset to modelview matrix
|
// Apply view offset to modelview matrix
|
||||||
eyeModelView = MatrixMultiply(matModelView, vrConfig.eyesViewOffset[eye]);
|
eyeModelView = MatrixMultiply(matModelView, vrConfig.eyesViewOffset[eye]);
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,7 @@
|
||||||
// Global variables
|
// Global variables
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
#if defined(SUPPORT_DEFAULT_FONT)
|
#if defined(SUPPORT_DEFAULT_FONT)
|
||||||
static Font defaultFont; // Default font provided by raylib
|
static Font defaultFont = { 0 }; // Default font provided by raylib
|
||||||
// NOTE: defaultFont is loaded on InitWindow and disposed on CloseWindow [module: core]
|
// NOTE: defaultFont is loaded on InitWindow and disposed on CloseWindow [module: core]
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@ static int logTypeExit = LOG_ERROR;
|
||||||
static TraceLogCallback logCallback = NULL;
|
static TraceLogCallback logCallback = NULL;
|
||||||
|
|
||||||
#if defined(PLATFORM_ANDROID)
|
#if defined(PLATFORM_ANDROID)
|
||||||
AAssetManager *assetManager;
|
AAssetManager *assetManager = NULL;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user