Я отображение растрового изображения
из детские в 800х600 еще при визуализации: Почему цвет изображения рендеринга треугольника?
У меня есть класс окна, наследуемый GameWindow и вот переопределенная метода, которые (по моему мнению) является релевантными:
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
GrafxUtils.InitTexturing();
textureId = GrafxUtils.CreateTextureFromBitmap((Bitmap)currentImage);
OnResize(null);
GL.ClearColor(Color.Gray);
}
protected override void OnRenderFrame(FrameEventArgs e) {
base.OnRenderFrame(e);
GL.Clear(ClearBufferMask.ColorBufferBit);
GL.MatrixMode(MatrixMode.Texture);
GL.LoadIdentity();
GL.BindTexture(TextureTarget.Texture2D, textureId);
GL.Begin(PrimitiveType.Quads);
// top-left
GL.TexCoord2(0, 0);
GL.Vertex2(0, 0);
// top-right
GL.TexCoord2(1, 0);
GL.Vertex2(currentImage.Width, 0);
// bottom-left
GL.TexCoord2(0, 1);
GL.Vertex2(0, currentImage.Height);
// bottom-right
GL.TexCoord2(1, 1);
GL.Vertex2(currentImage.Width, currentImage.Height);
GL.End();
SwapBuffers();
}
... и метод CreateTextureFromBitmap:
// utility method from GrafxUtils
public static int CreateTextureFromBitmap(Bitmap bitmap) {
BitmapData data = bitmap.LockBits(
new Rectangle(0, 0, bitmap.Width, bitmap.Height),
ImageLockMode.ReadOnly,
System.Drawing.Imaging.PixelFormat.Format32bppArgb);
var tex = GetBoundTexture();
GL.BindTexture(TextureTarget.Texture2D, tex);
GL.TexImage2D(
TextureTarget.Texture2D,
0,
PixelInternalFormat.Rgba,
data.Width, data.Height,
0,
OpenTK.Graphics.OpenGL.PixelFormat.Bgra,
PixelType.UnsignedByte,
data.Scan0);
bitmap.UnlockBits(data);
SetParameters();
return tex;
}
Что может вызвать появление треугольника?
Я намеренно не делая никаких треугольников. :) ... что такое извилистый заказ? – IAbstract
Я посмотрел ссылку XNA ... Какая актуальность? Есть ли порядок, в котором я должен установить TexCoord2 и Vertex2 ??? Это все, что я получаю от этого. :) – IAbstract
Хорошо ... ты помог мне войти в нужное мне направление. Хотя не полный ответ, я даю +1. :) Я скорее всего опубликую ответ после того, как я завершил функцию масштабирования. – IAbstract