标签:class c tar ext http color
效果截图:
代码展示:using System;
using
System.Collections.Generic;
using System.ComponentModel;
using
System.Data;
using System.Drawing;
using System.Text;
using
System.Windows.Forms;
using SharpGL;
namespace Example1
{
public partial class
FormExample : Form
{
public
FormExample()
{
InitializeComponent();
rbfull.Checked = true;
}
///
<summary>
///
默认绘画模式为线条
///
</summary>
private uint
_model = OpenGL.LINE_LOOP;
///
<summary>
///
X轴坐标
///
</summary>
private float _x
= 0;
///
<summary>
///
Y轴坐标
///
</summary>
private float _y
= 0;
///
<summary>
///
Z轴坐标
///
</summary>
private float _z
= 0;
private void
openGLControl1_OpenGLDraw(object sender, PaintEventArgs
e)
{
//
创建一个GL对象
SharpGL.OpenGL gl = this.openGLControl1.OpenGL;
gl.Clear(OpenGL.COLOR_BUFFER_BIT | OpenGL.DEPTH_BUFFER_BIT); //
清空屏幕
gl.LoadIdentity(); //
重置
gl.Translate(0.0f, 0.0f, -6.0f); // 设置坐标,距离屏幕距离为6
gl.Rotate(_x, 1.0f, 0.0f, 0.0f); //
绕X轴旋转
gl.Rotate(_y, 0.0f, 1.0f, 0.0f); //
绕Y轴旋转
gl.Rotate(_z, 0.0f, 0.0f, 1.0f); // 绕Z轴旋转
gl.Begin(_model); //
绘制立方体
gl.Color(0.0f, 1.0f, 0.0f); //
设置颜色
//绘制其中一个面
gl.Vertex(1.0f, 1.0f,
-1.0f);
gl.Vertex(-1.0f, 1.0f,
-1.0f);
gl.Vertex(-1.0f, 1.0f,
1.0f);
gl.Vertex(1.0f, 1.0f, 1.0f);
//如下类同
gl.Color(1.0f, 0.5f,
0.0f);
gl.Vertex(1.0f, -1.0f,
1.0f);
gl.Vertex(-1.0f, -1.0f,
1.0f);
gl.Vertex(-1.0f, -1.0f,
-1.0f);
gl.Vertex(1.0f, -1.0f, -1.0f);
gl.Color(1.0f, 0.0f,
0.0f);
gl.Vertex(1.0f, 1.0f,
1.0f);
gl.Vertex(-1.0f, 1.0f,
1.0f);
gl.Vertex(-1.0f, -1.0f,
1.0f);
gl.Vertex(1.0f, -1.0f, 1.0f);
gl.Color(1.0f, 1.0f,
0.0f);
gl.Vertex(1.0f, -1.0f,
-1.0f);
gl.Vertex(-1.0f, -1.0f,
-1.0f);
gl.Vertex(-1.0f, 1.0f,
-1.0f);
gl.Vertex(1.0f, 1.0f, -1.0f);
gl.Color(0.0f, 0.0f,
1.0f);
gl.Vertex(-1.0f, 1.0f,
1.0f);
gl.Vertex(-1.0f, 1.0f,
-1.0f);
gl.Vertex(-1.0f, -1.0f,
-1.0f);
gl.Vertex(-1.0f, -1.0f, 1.0f);
gl.Color(1.0f, 0.0f,
1.0f);
gl.Vertex(1.0f, 1.0f,
-1.0f);
gl.Vertex(1.0f, 1.0f,
1.0f);
gl.Vertex(1.0f, -1.0f,
1.0f);
gl.Vertex(1.0f, -1.0f,
-1.0f);
gl.End(); //
结束绘制
}
private void
rbfull_CheckedChanged(object sender, EventArgs
e)
{
_model =
OpenGL.QUADS;
}
private void
rbline_CheckedChanged(object sender, EventArgs
e)
{
_model =
OpenGL.LINE_LOOP;
}
private void
tbX_Scroll(object sender, EventArgs
e)
{
int x =
tbX.Value;
_x = x;
labX.Text = "X:" + x;
}
private void
tbY_Scroll(object sender, EventArgs
e)
{
int y =
tbY.Value;
_y = y;
labY.Text = "Y:" + y;
}
private void
tbZ_Scroll(object sender, EventArgs
e)
{
int z =
tbZ.Value;
_z = z;
labZ.Text = "Z:" + z;
}
private void
btnReset_Click(object sender, EventArgs
e)
{
_x = _y
= _z = 0;
}
}
}
OpenGL小试牛刀第一季,布布扣,bubuko.com
OpenGL小试牛刀第一季
标签:class c tar ext http color
原文地址:http://www.cnblogs.com/zzkgis/p/3742299.html