Вот пытаюсь разобраться, как использовать в .net возможности DirectX 9. Скачал SDK, там есть пример на использование матриц (странное название ).
В нем рассматривается, как нарисовать вращающийся по оси Y треугольник, но, к сожалению, только один..
Вопрос в том, как нарисовать несколько фигур (для начала 2)?
По идее это делается так:
Цитата:
Public Sub OnCreateVertexBuffer(ByVal sender As Object, ByVal e As EventArgs)
Dim vb As VertexBuffer = CType(sender, VertexBuffer)
Dim verts As CustomVertex.PositionColored() = CType(vb.Lock(0, 0), CustomVertex.PositionColored())
verts(0).X = -1.0F
verts(0).Y = -1.0F
verts(0).Z = 0.0F
verts(0).Color = System.Drawing.Color.DarkGoldenrod.ToArgb()
verts(1).X = 1.0F
verts(1).Y = -1.0F
verts(1).Z = 0.0F
verts(1).Color = System.Drawing.Color.MediumOrchid.ToArgb()
verts(2).X = 0.0F
verts(2).Y = 1.0F
verts(2).Z = 0.0F
verts(2).Color = System.Drawing.Color.Cornsilk.ToArgb()
vb.Unlock()
End Sub
Где verts - многоугольник, который нужно нарисовать, в нашем случае -треугольник.
Проблема в том, что если использовать две фигуры и один vertexbuffer - происходит ошибка типов, если для каждой отдельной фигуры по буферу - то рисуется (или видна?) только последняя..
Как быть не подскажите?