在c#中wpf应用程序项目中建立一个opengl绘画窗口。知道的请帮我一下。也可加993505118细谈。非常感谢。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在c#中wpf应用程序项目中建立一个opengl绘画窗口。知道的请帮我一下。也可加993505118细谈。非常感谢。相关的知识,希望对你有一定的参考价值。
其实就是在c#中配置初始化的问题,我看到网上好多刚开始要重构类什么的,看不懂。求帮忙。
参考技术A opengl有wpf版本和winform版本,注意下载的是不是正确的,添加控件之后OpenGL gl = GlArea.OpenGL;
gl.Clear(OpenGL.GL_COLOR_BUFFER_BIT | OpenGL.GL_DEPTH_BUFFER_BIT);
gl.LoadIdentity();
gl.Translate(0f, 0.0f, -3.0f);
gl.Rotate(rotateAngleXAxis, 1.0f, 0f, 0f);
gl.Rotate(rotateAngleYAxis, 0f, 1.0f, 0f);
gl.Rotate(rotateAngleZAxis, 0f, 0f, 1.0f);
//DrawArc(gl, 0.1f, 0.1f, 0.5f, 0f, 3.14f, 20);
#region 绘制坐标轴
//TODO: 增加X,Y,Z轴端点标记显示
gl.LineWidth(2);
gl.Begin(OpenGL.GL_LINES);
gl.Color(0f, 0f, 1.0f);
gl.Vertex(0.0f, 0f, 0f);
gl.Vertex(0.0f, 1.0f, 0f);
gl.Color(1f, 0f, 0f);
gl.Vertex(0.0f, 0f, 0f);
gl.Vertex(0.0f, 0f, 1.0f);
gl.Color(0f, 1f, 0f);
gl.Vertex(0.0f, 0f, 0f);
gl.Vertex(1.0f, 0f, 0f);
gl.End();
GlInited = true;
#endregion
gl.Color(1f, 1f, 1f);
//DRAW A POINT
gl.PointSize(2f);
gl.Color(1.0f, 1.0f, 1.0f);
gl.Begin(OpenGL.GL_POINTS);
gl.Vertex(AxisNumbers[0].Value / glRangeNum, AxisNumbers[1].Value / glRangeNum, AxisNumbers[2].Value / glRangeNum);
gl.End();
if (loadReady)
if (moveInfoList != null)
OnRotating = false;
var array = moveInfoList.ToArray();
for (int i = 0; i < array.Length - 1; i++)
if (array[i].Type == 1)
gl.Begin(OpenGL.GL_LINES);
if (array[i].Position[2] == 0 || array[i + 1].Position[2] == 0)
gl.Color((float)(0x68) / 255.0, (float)(0x7a) / 255.0, (float)(0xcc) / 255.0);
else
gl.Color((float)(0x255) / 255.0, (float)(0x2a) / 255.0, (float)(0x2c) / 255.0);
gl.Vertex(array[i].Position[0] / glRangeNum, array[i].Position[1] / glRangeNum, array[i].Position[2] / glRangeNum);
gl.Vertex(array[i + 1].Position[0] / glRangeNum, array[i + 1].Position[1] / glRangeNum, array[i + 1].Position[2] / glRangeNum);
gl.End();
gl.Flush();
前面是配置,后面可看可不看本回答被提问者和网友采纳
以上是关于在c#中wpf应用程序项目中建立一个opengl绘画窗口。知道的请帮我一下。也可加993505118细谈。非常感谢。的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C# WPF 中从 ListView/XML 中完全删除一个项目?