Comments (5)
Original comment by Martín Lucas Golini (Bitbucket: SpartanJ, GitHub: SpartanJ).
Can you print SOIL_last_result after the image load and also print the width, height and channels returned?
Are you sure that the path provided is correct?
Can you try to load the texture using SOIL_load_OGL_texture?
May be you forgot to set the GL_UNPACK_ALIGNMENT to 1?
I need a little more info,
Thanks!
from soil2.
Original comment by David Amador (Bitbucket: DJ_Link, ).
Yeah it does works using SOIL_load_OGL_texture, but I was using SOIL_load_image so I could get the width and height right away. SOIL_load_OGL_texture returns correct width and height but the image gets all white.
Alignment pack is set to 1 so maybe the problem is just the SOIL_load_OGL_texture function itself.
it returns "Image loaded"
from soil2.
Original comment by Martín Lucas Golini (Bitbucket: SpartanJ, GitHub: SpartanJ).
I think you forgot to set the min and mag filter,
i thought that:
#!c
GLint min_filter = filter_to_glint(GFX->get_image_min_filter());
GLint mag_filter = filter_to_glint(GFX->get_image_mag_filter());
was setting the filters, but it seems that not.
So, after glTexImage2D you must do something like:
#!c
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
// Also set the clamp mode
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP );
That should solve the problem.
If SOIL_load_OGL_texture then SOIL_load_image it's working ( since it use that function to load the image, also it's returning the size and channels, that means that it was loaded ).
But, i recommend you to load the texture with SOIL_load_OGL_texture, and to get the image dimensions you could use: stbi_info.
It should be something like:
#!c
#include <SOIL2/stb_image.h>
...
int w, h, c;
if ( stbi_info( filename.c_str(), &w, &h, &c ) )
{
unsigned int textureid = SOIL_load_OGL_texture( filename.c_str(), SOIL_LOAD_AUTO, SOIL_CREATE_NEW_ID, 0 );
}
Now that i see this, i think it would be handy to have a load texture method that also returns you the image info, or at least expose stbi_info as SOIL_image_info.
But there's also a simpler solution for this:
#!c
int width, height, channels;
unsigned char* data =
SOIL_load_image( filename.c_str(), &width, &height, &channels, SOIL_LOAD_AUTO );
if ( data )
{
unsigned int textureid = SOIL_create_OGL_texture( data, &width, &height, channels, SOIL_CREATE_NEW_ID, 0 );
}
SOIL_free_image_data( data );
Hope this helps,
Regards,
Martín
from soil2.
Original comment by David Amador (Bitbucket: DJ_Link, ).
That last solution you gave me works perfectly. My old code, even adding the glTexParameteri still give me the same problem but it's probably something else on my end.
Thank you for all the help, sorry for cluttering this with something that wasn't even a bug after all.
from soil2.
Original comment by Martín Lucas Golini (Bitbucket: SpartanJ, GitHub: SpartanJ).
Glad it worked!
And no problem, i'm here to help too!
from soil2.
Related Issues (20)
- HDR textures HOT 1
- Unable to compile HOT 1
- weird linking errors HOT 1
- SOIL_load_OGL_cubemap returning null type HOT 5
- How do I use SOIL2 HOT 16
- install issue macOS HOT 15
- Set GL_TEXTURE_MAX_LEVEL for DDS files with incomplete mip chain
- Add arg (Int*width and int*height) to function with XXX__OGL_XXX.
- Support uwp in vcpkg
- Unable to link static lib (Android)
- compiling SOIL2 with mingw64 gcc version 11.2.0 HOT 2
- Compiler Error VS2022 HOT 5
- lib version HOT 1
- Missing documentation HOT 1
- Cannot find source file in CMake HOT 1
- invalid strcmp
- Compiler warnings (clang) HOT 1
- SOIL2 is amazing but how without OpenGL ? HOT 2
- compiling SOIL2 with mingw64 gcc version 13.1.0 in windows 11 HOT 2
- Not usable with nanovg HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from soil2.