1

ShapesC# + OpenTK を使用して編集可能な 2D をレンダリングするコードを 1 年前に書きました。それぞれshapeに独自の頂点があり、編集するとShape頂点値が直接変更されます。

すべてを反復し、頂点情報を大きな配列に結合し、以下のスニペットを使用して一度に描画するCollectVertices()display_callback_func に があります。Shapes

GL.EnableClientState(ArrayCap.VertexArray);
GL.EnableClientState(ArrayCap.ColorArray);

// draw fills (triangles)
GL.ColorPointer<byte>(3, ColorPointerType.UnsignedByte, 0, fillColor);
GL.VertexPointer<double>(2, VertexPointerType.Double, 0, fillArray);
GL.DrawArrays(BeginMode.Triangles, 0, fillArray.Length / 2);

// draw lines
GL.ColorPointer<byte>(3, ColorPointerType.UnsignedByte, 0, lineColor);
GL.VertexPointer<double>(2, VertexPointerType.Double, 0, lineArray);
GL.DrawArrays(BeginMode.Lines, 0, lineArray.Length / 2);

GL.DisableClientState(ArrayCap.ColorArray);
GL.DisableClientState(ArrayCap.VertexArray);

struct Transform1年後の今日、私はオブジェクトに新しいものを紹介したいと思いShapeます. と が含まれVector2 CenterますMatrix Orientation。現在編集するShapeと、代わりに値が変更されTransformます (ただし、スケーリングは論理的にそうあるべきであるため、頂点データで引き続き行われます)。

上記のスニペットに最小限の変更を加えて、変換マトリックスを含めるためのきちんとした方法は何ですか?

4

0 に答える 0