私は最近、C#で単純なゲームにOpenTKを使用し始めました。しかし、私は多くのことを試してみましたが、ポイントのような基本的な図形を描くことはできません。それを把握していない。OpenTK(OpenGL)はほとんどのプリミティブを描画しません
私の描画ルーチンは現在、次のようになります。
public static void RenderLoop(object Sender, OpenTK.FrameEventArgs Fea)
{
OpenTK.Graphics.OpenGL.GL.Clear(OpenTK.Graphics.OpenGL.ClearBufferMask.ColorBufferBit | OpenTK.Graphics.OpenGL.ClearBufferMask.DepthBufferBit);
OpenTK.Graphics.OpenGL.GL.Disable(OpenTK.Graphics.OpenGL.EnableCap.PointSmooth);
OpenTK.Graphics.OpenGL.GL.Disable(OpenTK.Graphics.OpenGL.EnableCap.Blend);
OpenTK.Graphics.OpenGL.GL.Disable(OpenTK.Graphics.OpenGL.EnableCap.DepthTest);
OpenTK.Graphics.OpenGL.GL.Disable(OpenTK.Graphics.OpenGL.EnableCap.CullFace);
OpenTK.Graphics.OpenGL.GL.Begin(OpenTK.Graphics.OpenGL.BeginMode.Points);
OpenTK.Graphics.OpenGL.GL.Color3(1f, 1f, 1f);
OpenTK.Graphics.OpenGL.GL.Vertex2(50, 50);
OpenTK.Graphics.OpenGL.GL.End();
OpenTK.Graphics.GraphicsContext.CurrentContext.SwapBuffers();
}
と初期化はこれです:私はマーカスが暗示するような問題があると思い
public static bool Init()
{
try
{
//1200,850
GameWnd = new GameWindow(1200, 850, new GraphicsMode(new ColorFormat(32), 0), "OpenTK - OpenGL Renderer", GameWindowFlags.Default, DisplayDevice.Default,3,0,GraphicsContextFlags.Default);
GL.Disable(EnableCap.DepthTest); //Disable Z-Buffer, 2D Rendering
GL.Disable(EnableCap.CullFace);
GL.Enable(EnableCap.Texture2D);
GL.Enable(EnableCap.Blend);
GL.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha);
GL.PixelStore(PixelStoreParameter.UnpackAlignment, 1);
GL.RenderMode(RenderingMode.Render);
GL.MatrixMode(MatrixMode.Projection);
return true;
}
catch (Exception ex)
{
ErrorHandler.Err(ex, "Renderer has failed to initialize");
return false;
}
}
投影行列とモデルビュー行列の設定はどのように見えますか? (あなたが持っていると仮定して) – Macke
@Marcus Lindblom自分の投稿にinitコードを追加しました。 (私は2Dを私は任意の3D機能を使用するつもりはない) – Mervin
なぜテクスチャを有効にしていますが、どのテクスチャ座標を渡さないのですか? – genpfault