Хочу нарисовать только контур треугольника, тобишь чтоб были только линии, а внутри пусто... но почему-то его заполняет градиентом...
...
public void OnCreateVertexBuffer(object sender, EventArgs e)
{
VertexBuffer vb = (VertexBuffer)sender;
CustomVertex.PositionColored[] verts = (CustomVertex.PositionColored[])vb.Lock(0,0);
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();
}
...
...
device.SetStreamSource(0, vertexBuffer, 0);
device.VertexFormat = CustomVertex.PositionColored.Format;
device.DrawPrimitives(PrimitiveType.TriangleList, 0, 1);
...
Может кто подскажет где что менять/исправлять?
Здравствуйте, smaki, Вы писали:
S> Хочу нарисовать только контур треугольника, тобишь чтоб были только линии, а внутри пусто... но почему-то его заполняет градиентом...
S>S>...
S>public void OnCreateVertexBuffer(object sender, EventArgs e)
S> {
S> VertexBuffer vb = (VertexBuffer)sender;
S> CustomVertex.PositionColored[] verts = (CustomVertex.PositionColored[])vb.Lock(0,0);
S> verts[0].X=-1.0f; verts[0].Y=-1.0f; verts[0].Z=0.0f; verts[0].Color = System.Drawing.Color.DarkGoldenrod.ToArgb();
S> verts[1].X=1.0f; verts[1].Y=-1.0f ;verts[1].Z=0.0f; verts[1].Color = System.Drawing.Color.MediumOrchid.ToArgb();
S> verts[2].X=0.0f; verts[2].Y=1.0f; verts[2].Z = 0.0f; verts[2].Color = System.Drawing.Color.Cornsilk.ToArgb();
S> vb.Unlock();
S> }
S>...
S>...
S>device.SetStreamSource(0, vertexBuffer, 0);
S>device.VertexFormat = CustomVertex.PositionColored.Format;
S>device.DrawPrimitives(PrimitiveType.TriangleList, 0, 1);
S>...
S>
S>Может кто подскажет где что менять/исправлять?
Ундерстанд ?
Здравствуйте, Аноним, Вы писали:
S>>...
S>>device.SetStreamSource(0, vertexBuffer, 0);
S>>device.VertexFormat = CustomVertex.PositionColored.Format;
S>>device.DrawPrimitives(PrimitiveType.TriangleList, 0, 1);
S>>...
Да, но если я ставлю PrimitiveType.TriangleFan, то идет та же заливка градиентом
Есть ли способ задавать только цвет линий примитива, допустим, для квадрата (2 треугольника TriangleFan)?
Или придется(рациональнее) рисовать по линиям?
Здравствуйте, smaki, Вы писали:
S> Хочу нарисовать только контур треугольника, тобишь чтоб были только линии, а внутри пусто... но почему-то его заполняет градиентом...
S>...
S>...
S>device.SetStreamSource(0, vertexBuffer, 0);
S>device.RenderState.FillMode = FillMode.Wireframe;
S>device.VertexFormat = CustomVertex.PositionColored.Format;
S>device.DrawPrimitives(PrimitiveType.TriangleList, 0, 1);
S>...
S>[/c#]
S>Может кто подскажет где что менять/исправлять?... << RSDN@Home 1.1.4 stable SR1 rev. 568>>