So my game engine throws an exception of,
Exception thrown at 0x5DCD92B3 (nvoglv32.dll) in Engine-Core.exe: 0xC0000005: Access violation reading location 0x00000000.
which is great, it also shows up a "Nvoglv32.pdb" not loaded message so I can't debug through the Nvidia DLL that the error relates to.
As far as I have been able to figure out the issue relates to me attempting to set the colour/texture of a sprite within my fragment shader. I was following some tutorials on youtube on how to do it and the person who made the tutorials had no such error when he wrote the code.
Heres my fragment/vertex shader,
And my vertex shader,
I'm using a batchrenderer to draw the sprites that sets up the texture IDs/sampler stuff for the shaders.
Any suggestions would be greatly appreciated as I haven't been able to find any answers on the web other then possible "glDrawElement" call issues which this is definitely not an error from that.
Exception thrown at 0x5DCD92B3 (nvoglv32.dll) in Engine-Core.exe: 0xC0000005: Access violation reading location 0x00000000.
which is great, it also shows up a "Nvoglv32.pdb" not loaded message so I can't debug through the Nvidia DLL that the error relates to.
As far as I have been able to figure out the issue relates to me attempting to set the colour/texture of a sprite within my fragment shader. I was following some tutorials on youtube on how to do it and the person who made the tutorials had no such error when he wrote the code.
Heres my fragment/vertex shader,
Code:
#version 330 core
layout (location = 0) out vec4 color;
uniform vec4 col;
uniform vec2 light_pos;
in DATA
{
vec4 position;
vec2 uv;
float tid;
vec4 color;
} fs_in;
uniform sampler2D textures[32];
void main()
{
float intensity = 1.0f / length(fs_in.position.xy - light_pos);
vec4 texColor = fs_in.color;
if(fs_in.tid > 0.0)
{
int tid = int(fs_in.tid + 0.5);
texColor = texture(textures[tid], fs_in.uv);
}
color = texColor * intensity;
}
And my vertex shader,
Code:
#version 330 core
layout (location = 0) in vec4 position;
layout (location = 1) in vec2 uv;
layout (location = 2) in float tid;
layout (location = 3) in vec4 color;
uniform mat4 pr_matrix;
uniform mat4 vw_matrix = mat4(1.0);
uniform mat4 ml_matrix = mat4(1.0);
out DATA
{
vec4 position;
vec2 uv;
float tid;
vec4 color;
} vs_out;
void main()
{
gl_Position = pr_matrix * vw_matrix * ml_matrix * position;
vs_out.position = ml_matrix * position;
vs_out.uv = uv;
vs_out.tid = tid;
vs_out.color = color;
}
I'm using a batchrenderer to draw the sprites that sets up the texture IDs/sampler stuff for the shaders.
Any suggestions would be greatly appreciated as I haven't been able to find any answers on the web other then possible "glDrawElement" call issues which this is definitely not an error from that.