• Welcome to Vampyre Imaging Library Forum. Please login or sign up.
 

Post reply

Other options

Shortcuts: ALT+S save/post or ALT+P preview

Topic summary

Posted by Wodzu
 -  9 April 2010, 18:33:38
Thank you.

I've managed to compile OpenGLDemo under Lazaurs. Blending works nicely!
Posted by Galfar
 -  9 April 2010, 00:25:06
Instead of alpha testing:
glAlphaFunc( GL_GREATER, 0 );
glEnable( GL_ALPHA_TEST );

use alpha blending:
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
or glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA)


You can look at OpenGL demo of Imaging in Demos folder.


QuoteBy file format I've meant the format of data A8R8G8B8 or something like that.

Thar's setup for you in LoadGLTextureFromFile.
Posted by Wodzu
 -  8 April 2010, 23:34:10
Thank you Galfar for such quick replay.

By file format I've meant the format of data A8R8G8B8 or something like that.
I am quite new to the OpenGL so I am sure it is my fault;)

Take a look at the screenshot. On the left we have PNG texture on the right we have BMP texture. Both are on the size 256x256.
BMP texture is displayed correctly PNG is not.



To be honest I am not sure that I've set up the blending properly. I've set up only only Alpha and not blending (cause I do not know how yet). So I have 1 bit transperency now.

  glAlphaFunc( GL_GREATER, 0 );
  glEnable( GL_ALPHA_TEST );
                  

I've also attached a compiled example program with source code.

Thank you for your time.
Posted by Galfar
 -  8 April 2010, 23:15:47
Could you post a screenshot of how distorted it looks?

QuoteI suspect that I need to explictly state somewhere the file format to OpenGL?

No, OpenGL doesn't care how the file was stored on the disk.

Did you set texture filtering, wraping, etc. after the texture was created? Have you setup alpha blending in OpenGl correctly?
Posted by Wodzu
 -  8 April 2010, 23:08:43
Hi guys.

I am problem with PNG files under OpenGL. The file is an PNG image (256x256) with many levels of transparency.

I am loading it like this:

var
  Textures: array[1..6] of GLuint;   

  Textures[4] := LoadGLTextureFromFile('Images\font_0.png');


And I am displaying it on the quad like this:

glBindTexture(GL_TEXTURE_2D, Textures[4]);
glBegin(GL_QUADS);
glTexCoord2f(0, 0);
glVertex3f(-2, 2, 1);

glTexCoord2f(1, 0);
glVertex3f(2, 2, 1);

glTexCoord2f(1, 1);
glVertex3f(2, -2, 1);

glTexCoord2f(0, 1);
glVertex3f(-2, -2, 1);
glEnd();   


However, the file is not displayed correctly. It looks disrupted. I suspect that I need to explictly state somewhere the file format to OpenGL?

Do I need to write my own texture loading routine in the case of PNG file?

Thanks for your time.
SMF spam blocked by CleanTalk