DEV Community 👩‍💻👨‍💻

Discussion on: Why do I keep getting this weird error when trying to load an image?

Collapse
 
cariehl profile image
Cooper Riehl

I've never used raylib, but my initial guess is that you're either missing a step, or doing something out-of-order from what the library expects.

It's hard to diagnose your problem based on a single line of code. Can you create a new program that only loads the texture, then post the full source code? That will make it easier to trace through the steps and figure out if you're missing something, doing something wrong, etc.

Collapse
 
baenencalin profile image
Calin Baenen Author

Raylib is similar to OpenGL (I think it even uses OpenGL BTS).

Here is a minimal example:

package main;

import "github.com/gen2brain/raylib-go/raylib";







// Main function (program entrypoint).
func main() {
  var tex rl.Texture2D = rl.LoadTexture("test.jpg");

  rl.InitWindow(500, 500, "Raylib test.");
  for !rl.WindowShouldClose() {
    rl.ClearBackground(rl.Black);
    rl.DrawTexture(tex, 0, 0, rl.Blank);
  }
}
Enter fullscreen mode Exit fullscreen mode

This is the application in the file system. Yes,  raw `test.jpg` endraw  exists.
And I get a pretty similar result to the last (except jpg isn't a supported format, for some reason (not like I use jpg, but I still care about them)).

INFO: FILEIO: [test.jpg] File loaded successfully
WARNING: IMAGE: File format not supported
WARNING: IMAGE: [test.jpg] Failed to load data
INFO: Initializing raylib 3.8-dev
INFO: DISPLAY: Device initialized successfully
INFO:     > Display size: 1920 x 1080
INFO:     > Render size:  500 x 500
INFO:     > Screen size:  500 x 500
INFO:     > Viewport offsets: 0, 0
INFO: GLAD: OpenGL extensions loaded successfully
INFO: GL: Supported extensions count: 239
INFO: GL: OpenGL device information:
INFO:     > Vendor:   Intel
INFO:     > Renderer: Intel(R) UHD Graphics 630
INFO:     > Version:  3.3.0 - Build 27.20.100.8853
INFO:     > GLSL:     3.30 - Build 27.20.100.8853
INFO: GL: DXT compressed textures supported
INFO: GL: ETC2/EAC compressed textures supported
INFO: TEXTURE: [ID 1] Texture loaded successfully (1x1 - 1 mipmaps)
INFO: TEXTURE: [ID 1] Default texture loaded successfully
INFO: SHADER: [ID 1] Vertex shader compiled successfully
INFO: SHADER: [ID 2] Fragment shader compiled successfully
INFO: SHADER: [ID 3] Program shader loaded successfully
INFO: SHADER: [ID 3] Default shader loaded successfully
INFO: RLGL: Render batch vertex buffers loaded successfully in RAM (CPU)
INFO: RLGL: Render batch vertex buffers loaded successfully in VRAM (GPU)
INFO: RLGL: Default OpenGL state initialized successfully
INFO: TEXTURE: [ID 2] Texture loaded successfully (128x128 - 1 mipmaps)
INFO: FONT: Default font loaded successfully
Enter fullscreen mode Exit fullscreen mode
Collapse
 
baenencalin profile image
Calin Baenen Author

NOTE: I tried adding rl.UnloadTexture(tex) after the window initialization, and I tried putting it after the for loop. When I do this, the window does appear this time, but it instantly closes, and provides the same (or similar) error (I didn't look too carefully, since they seem the same).
With that said, I can tell it's an issue with rl.LoadTexture(string), and not me, or rl.UnloadTexture(rl.Texture2D).