C# OPENGL DEMO 旋转彩色立方体OpenGL, SharpGL
static double xrot = 0.0;
static double yrot = 0.0;
static double zrot = 0.0;
SharpGL.OpenGL gl;
private void timer1_Tick(object sender, EventArgs e)
{
gl.Rotate(xrot, 1, 0, 0);
gl.Rotate(yrot, 0, 1, 0);
gl.Rotate(zrot, 0, 0, 1);
xrot = xrot + 0.11;
yrot = yrot + 0.11;
zrot = zrot + 0.11;
}
private void openGLControl1_OpenGLDraw(object sender, SharpGL.RenderEventArgs e)
{
// 创建一个GL对象
gl.Clear(OpenGL.Gl.COLOR_BUFFER_BIT|OpenGL.Gl.DEPTH_BUFFER_BIT); // 清空屏幕
gl.LoadIdentity(); // 重置
gl.Translate(0.0f, 0.0f, -6.0f); // 设置坐标,距离屏幕距离为6
gl.Rotate(xrot, 1.0f, 0.0f, 0.0f); // 绕X轴旋转
gl.Rotate(yrot, 0.0f, 1.0f, 0.0f); // 绕Y轴旋转
gl.Rotate(zrot, 0.0f, 0.0f, 1.0f); // 绕Z轴旋转
gl.Begin(Gl.QUADS);
gl.Color(1.0, 1.0, 0.0);
gl.Vertex(1.0, 1.0, -1.0);
gl.Color(0.0, 1.0, 0.0);
gl.Vertex(-1.0, 1.0, -1.0);
gl.Color(0.0, 1.0, 1.0);
gl.Vertex(-1.0, 1.0, 1.0);
gl.Color(1.0, 1.0, 1.0);
gl.Vertex(1.0, 1.0, 1.0);
gl.Color(1.0, 0.0, 1.0);
gl.Vertex(1.0, -1.0, 1.0);
gl.Color(0.0, 0.0, 1.0);
gl.Vertex(-1.0, -1.0, 1.0);
gl.Color(0.0, 0.0, 0.0);
gl.Vertex(-1.0, -1.0, -1.0);
gl.Color(1.0, 0.0, 0.0);
gl.Vertex(1.0, -1.0, -1.0);
gl.Color(1.0, 1.0, 1.0);
gl.Vertex(1.0, 1.0, 1.0);
gl.Color(0.0, 1.0, 1.0);
gl.Vertex(-1.0, 1.0, 1.0);
gl.Color(0.0, 0.0, 1.0);
gl.Vertex(-1.0, -1.0, 1.0);
gl.Color(1.0, 0.0, 1.0);
gl.Vertex(1.0, -1.0, 1.0);
gl.Color(1.0, 0.0, 0.0);
gl.Vertex(1.0, -1.0, -1.0);
gl.Color(0.0, 0.0, 0.0);
gl.Vertex(-1.0, -1.0, -1.0);
gl.Color(0.0, 1.0, 0.0);
gl.Vertex(-1.0, 1.0, -1.0);
gl.Color(1.0, 1.0, 0.0);
gl.Vertex(1.0, 1.0, -1.0);
gl.Color(0.0, 1.0, 1.0);
gl.Vertex(-1.0, 1.0, 1.0);
gl.Color(0.0, 1.0, 0.0);
gl.Vertex(-1.0, 1.0, -1.0);
gl.Color(0.0, 0.0, 0.0);
gl.Vertex(-1.0, -1.0, -1.0);
gl.Color(0.0, 0.0, 1.0);
gl.Vertex(-1.0, -1.0, 1.0);
gl.Color(1.0, 1.0, 0.0);
gl.Vertex(1.0, 1.0, -1.0);
gl.Color(1.0, 1.0, 1.0);
gl.Vertex(1.0, 1.0, 1.0);
gl.Color(1.0, 0.0, 1.0);
gl.Vertex(1.0, -1.0, 1.0);
gl.Color(1.0, 0.0, 0.0);
gl.Vertex(1.0, -1.0, -1.0);
gl.End();
}

放置控件openGLControl1
添加事件openGLControl1_OpenGLDraw
Form初始化
public Form1() { InitializeComponent(); gl = this.openGLControl1.OpenGL; timer1.Start(); }
记得添加OpenGL, SharpGL包!!!记得添加OpenGL, SharpGL包!!!记得添加OpenGL, SharpGL包!!!

感谢支持!!!!

感谢支持!!!!

浙公网安备 33010602011771号