Ich versuche, ein im Uhrzeigersinn drehendes Dreieck zu machen, aber ich kann nicht. Ich habe eine Timer-Kontrolle gemacht, aber das Ergebnis ist dasselbe ohne den Timer. Der folgende Code zeigt daher kein sich drehendes Dreieck. Wie kann ich Dreieck mit CSGL drehen?Wie kann ich das Dreieck (im Uhrzeigersinn) mit CSGL drehen?
namespace WinDrawCoordinate
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private float a = 0.0f;
private void Form1_Load(object sender, EventArgs e)
{
timer1.Start();
}
protected void Gosterim()
{
GL.glClear(GL.GL_COLOR_BUFFER_BIT);
GL.glLoadIdentity();
Hesapla();
Ucgen();
}
protected void ayarlar()
{
GL.glClearColor(1, 1, 1, 1);
GL.glShadeModel(GL.GL_FLAT);
}
protected void Hesapla()
{
a += 0.5f;
this.Refresh();
}
protected void Ucgen()
{
GL.glColor3f(0, 1, 1);
GL.glRotatef(a, 0, 0, -1);
GL.glBegin(GL.GL_TRIANGLES);
GL.glVertex2f(-0.2f, -0.2f);
GL.glVertex2f(0.2f, -0.2f);
GL.glVertex2f(0.0f, 0.2f);
GL.glEnd();
}
private void timer1_Tick(object sender, EventArgs e)
{
ayarlar();
Gosterim();
}
}
Gibt es einen besonderen Grund, warum Sie nicht mit WPF 3D gehen? –
Was * macht * das Programm? Zeigt es überhaupt etwas oder nur ein stationäres Dreieck? Wo richten Sie Ihre Projektionsmatrix ein? – genpfault
CSGL hat die Entwicklung im Jahr 2003 eingestellt. Ist es eine gute Idee, diese Bibliothek zu verwenden, wenn es zahlreiche andere * aktuelle * Grafikbibliotheken mit aktiven Communities/Support gibt? Nur ein Gedanke – curtisk