public Form1()
{
InitializeComponent();
engine.Init(AnT);
Gl.glBlendFunc(Gl.GL_SRC_ALPHA, Gl.GL_ONE_MINUS_SRC_ALPHA);
Gl.glEnable(Gl.GL_BLEND);
}
private void AnT_Load(object sender, EventArgs e)
{
Thread th = new Thread(fun);
th.Priority = ThreadPriority.Normal;
th.Start();
th.Join();
}
void fun()
{
int i = 45;
Random r = new Random();
//Gl.glClear(Gl.GL_COLOR_BUFFER_BIT);
Gl.glPushMatrix();
Gl.glTranslated(50, 50, 1);
Gl.glScaled(r.NextDouble(), r.NextDouble(),1);
Gl.glRotated(i, 0, 0, 1);
Gl.glBegin(Gl.GL_POLYGON);
Gl.glColor4d(1, 0, 0, 0.1);
Gl.glVertex2d(-25, -25);
Gl.glColor4d(0, 1, 0, 0.1);
Gl.glVertex2d(-25, 25);
Gl.glColor4d(0, 0, 1, 0.1);
Gl.glVertex2d(25, 25);
Gl.glColor4d(1, 1, 1, 0.1);
Gl.glVertex2d(25, -25);
Gl.glEnd();
Gl.glPopMatrix();
Gl.glFlush();
AnT.Invalidate();
}
вот чать кода. поток th выполняется, но на компоненте AnT нифига не отрисовывается!
--------------------
UPD- вот с геймдева цитата
Спец
У опенжл большие проблемы с работой в многопоточности, точнее с работой из не основного потока приложения.
100% безопасно его можно использовать только в основном потоке. Иначе - жди сюрпризов, даже если у тебя и заработает у людей с другим софтом/хардом возможно работать не будет.
|
какая жаль