求大神指教用C#引用OPENGL图形不显示代码如下

qq_36223702 2017-04-11 10:34:50
我用C#创建了一个窗体文件但是编码后显示不出图形,编码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Tao.FreeGlut;
using Tao.OpenGl;
using SharpGL;

namespace 立方体
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
SharpGL.OpenGL gl = this.openGLCtrl1.OpenGL;

}
public uint _model = OpenGL.QUADS;
public float a = 0;
public float b = 0;
public float c = 0;
public float x = 0;
public float y = 0;
public float z = 0;

private void openGLCtrl1_Load(object sender, EventArgs e)
{
SharpGL.OpenGL gl = this.openGLCtrl1.OpenGL;
//gl.ClearColor=(0.0f,0.0f,0.0f,0.0f);
gl.Clear(OpenGL.COLOR_BUFFER_BIT | OpenGL.DEPTH_BUFFER_BIT);
gl.MatrixMode(Gl.GL_PROJECTION);

gl.MatrixMode(Gl.GL_MODELVIEW);
gl.LoadIdentity();
gl.Translate(0.0f,0.0f,-100.0f);
//gl.Translate(x, y, z);
gl.Begin(OpenGL.TRIANGLES);
gl.Vertex(0.0f,0.0f,0.0f);
gl.Vertex(10.0f, 0.0f,0.0f);
gl.Vertex(10.0f, 0.0f, -10.0f);
gl.End();



}
private void cuboidDraw(SharpGL.OpenGL gl,float a,float b,float c)
{
gl.Begin(OpenGL.QUADS);
gl.Color(1.0f,0.0f,0.0f);
gl.Vertex(a / 2, -c / 2, b / 2);
gl.Vertex(a / 2, c / 2, b / 2);
gl.Vertex(a / 2, c / 2, -b / 2);
gl.Vertex(a / 2, -c / 2, -b / 2);
//绘制一个面
gl.Vertex(a / 2, -c / 2, -b / 2);
gl.Vertex(a / 2, c / 2, -b / 2);
gl.Vertex(-a / 2, c / 2, -b / 2);
gl.Vertex(-a / 2, -c / 2, -b / 2);
//绘制一个面
gl.Vertex(-a / 2, -c / 2, -b / 2);
gl.Vertex(-a / 2, c / 2, -b / 2);
gl.Vertex(-a / 2, c / 2, b / 2);
gl.Vertex(-a / 2, -c / 2, b / 2);
//绘制一个面
gl.Vertex(-a / 2, -c / 2, b / 2);
gl.Vertex(-a / 2, c / 2, b / 2);
gl.Vertex(a / 2, c / 2, b / 2);
gl.Vertex(a / 2, -c / 2, b / 2);
//绘制一个面
gl.Vertex(a / 2, c / 2, b / 2);
gl.Vertex(a / 2, c / 2, -b / 2);
gl.Vertex(-a / 2, c / 2, -b / 2);
gl.Vertex(-a / 2, c / 2, b / 2);
//绘制一个面
gl.Vertex(a / 2, -c / 2, b / 2);
gl.Vertex(a / 2, -c / 2, -b / 2);
gl.Vertex(-a / 2, -c / 2, -b / 2);
gl.Vertex(-a / 2, -c / 2, b / 2);
gl.End();

}

private void Form1_Load(object sender, EventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{
a = float.Parse(textBox1.Text);
b = float.Parse(textBox2.Text);
c = float.Parse(textBox2.Text);

}
}
}
...全文
1130 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

602

社区成员

发帖
与我相关
我的任务
社区描述
异构开发技术
社区管理员
  • OpenCL和异构编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧