CsGL - это С# библиотека, позволяющая довольно просто и удобно использовать OpenGL в своём проекте не заморачиваясь с инициализацией. Проект заморожен, но работает стабильно. Освоив эту штуку я понял, что 3d графику освоить вполне реально, но продолжу её изучать уже без всяких библиотек.
Как её использовать в Visual Studio 2008
Для начала нужно скачать саму библиотеку с сайта проекта http://csgl.sourceforge.net/
csgl-opengl.dll и csgl-opengl-native.dll.
Вторую библиотечку (неуправляемый код) сразу можно бросить в windows\system32\, опытным путём было доказано, что без неё работать не будет.
На csgl-opengl.dll нужно добавить ссылку. Создать новый проект (Windows Forms Application), в меню Project выбрать Add Reference... и найти там скачанную библиотеку. В проект нужно добавить директиву "using CsGL.OpenGL;" (туда, где уже есть много строк, начинающихся на using).
После чего создаём новый класс-наследник:
public class gl : OpenGLControl
{
public override void glDraw()
{
GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
GL.gluOrtho2D(0, Width, 0, Height);
//Start painting
//Вот тут нужно добавить код, рисующий что-то
//End painting
GL.glMatrixMode(GL.GL_PROJECTION);
GL.glLoadIdentity();
}
protected override void OnSizeChanged(EventArgs e)
{
base.OnSizeChanged(e);
GL.glMatrixMode(GL.GL_PROJECTION);
GL.glLoadIdentity();
glDraw();
}
}
У нас в Toolboxe появится новый контрол gl, который можно кинуть на форму как любой другой. Иногда, по не понятной мне причине контрол не появляется/появляется не сразу, тогда можно добавить его вручную, прописав в загрузку форму функцию:
private void initGL()
{
gl.Top = 0; gl.Left = 0;
gl.Width = this.Width; gl.Height = this.Height;
Controls.Add(gl);
}
и объявив в классе формы gl gl = new gl();
В результате при запуске должна получиться форма с чёрным фоном, который отрисован средствами OpenGl.
Что всё это значит хорошо описано в OpenGL Red Book.
Комментариев нет:
Отправить комментарий