Jump to content
  • Advertisement
Sign in to follow this  
RenZimE

[.net] S3TC in taoframework

This topic is 4550 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

i have been having problems with taoframework throwing an access violation exception while calliing glCompressedTexImage2DARB and was wondering if any one else has come across this or has any way i can avoid it.
                Gl.glBindTexture(Gl.GL_TEXTURE_2D, TexID);

                int cWidth = (int)m_ddsHeader.dwWidth;
                int cHeight = (int)m_ddsHeader.dwHeight;
                int offset = 0;
                int size = 0;
                int format = (int)ddsInfo.internalFormat;
                byte[] temp;
                for (int i = 1; i < m_ddsHeader.dwMipMapCount; i++)
                {
                    size =(int)((cWidth/4)*(cHeight/4)*ddsInfo.blockBytes);
                    temp = new byte[size];
                    Array.Copy(DDSSurface,offset,temp,0,size);
                    Gl.glCompressedTexImage2DARB(Gl.GL_TEXTURE_2D,i,format,cWidth,cHeight,0,size,temp);
                    
                    offset+=size;
                    cWidth = Math.Max(1,cWidth >> 1);
                    cHeight = Math.Max(1,cHeight >> 1);
                    Array.Clear(temp,0,temp.Length);   
                }



Share this post


Link to post
Share on other sites
Advertisement
Simple answer: is your buffer big enough? Looks to me like you're trying to fill it with (cWidth×cHeight) pixels but only allocating a sixteenth of that ... even allowing for the pixel format (more than one byte per pixel), which I presume is covered by ddsInfo.blockBytes.

Share this post


Link to post
Share on other sites
ok some one slap me for not actualy taking notice of what i was doing, ty for the fresh eye view btw :)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!