OpenGL - UV-Mapping - Probleme Bilder mit 400 x 20 000 zu arbeiten.

17/11/2008 - 13:18 von Daniel Hemmerling | Report spam
Hallo zusammen,
ich versuche gerade größere Bildstreifen in mein Programm zu laden,
400 x 4000 Bilder klappen ohne Probleme, aber ich brauche eher 400 x
20 000 und noch größer.
Wenn ich jedoch z.b. ein 400 x 20 000 Bilder mit UV-Mapping als
Einzelbilder darstellen möchte, bekomme ich folgende Fehlermeldung:
"A Basecode Error Occurred While Creating The Application's Form:
Stack Trace: bei CsGL.OpenGL.OpenGLExceptions.Assert() bei
CsGL.Basecode.App.CreateForm()"

Überschreite ich mit diesen Größen irgendwelche Grenzen?
Und wenn ja, wie kann ich dises ausweiten?

Viele Grüße
Daniel

Hier mal ein Ausschnitt aus dem Code von LoadTextures:
string filename = @"uvtestbild00003.png";
Bitmap bitmap = null;
Rectangle rectangle;
BitmapData bitmapData = null;
bitmap = new Bitmap(filename);
rectangle = new Rectangle(0, 0, bitmap.Width, bitmap.Height);
bitmapData = bitmap.LockBits(rectangle, ImageLockMode.ReadOnly,
System.Drawing.Imaging.PixelFormat.Format24bppRgb);
glGenTextures(1, texture);
glBindTexture(GL_TEXTURE_2D, texture[0]);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, (int)GL_RGB8, bitmap.Width,
bitmap.Height, 0, GL_BGR_EXT, GL_UNSIGNED_BYTE, bitmapData.Scan0);
[...]

Code von Draw:
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(0.0f, 0.0f, -5.0f);
breite_bild = 1 / anzahl_bild;
position_bild = breite_bild * Convert.ToInt64( Math.Round
(zaehler_bild));
glBindTexture(GL_TEXTURE_2D, texture[0]);
glBegin(GL_QUADS);
glTexCoord2f(position_bild + breite_bild, 1f);
glVertex3f(0.5f, 0.5f, 1.0f);
glTexCoord2f(position_bild, 1f);
glVertex3f(-0.5f, 0.5f, 1.0f);

glTexCoord2f(position_bild, 0f);
glVertex3f(-0.5f, -0.5f, 1.0f);
glTexCoord2f(position_bild + breite_bild, 0f);
glVertex3f(0.5f, -0.5f, 1.0f);
glEnd();
zaehler_bild += 0.2F;
 

Lesen sie die antworten

#1 Daniel Hemmerling
17/11/2008 - 14:22 | Warnen spam
On 17 Nov., 13:18, Daniel Hemmerling wrote:
[...]



Antwort gefunden, "max texture size is around 4196 in any dimension".

Ähnliche fragen