资源简介
读取芭蕉树的obj模型文件并显示,包括纹理、光照
另一棵树的效果更好,可是文件大小超出上传限制了,所以只能上传这棵点、面数小的小树了
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing;
using CsGL.OpenGL;
using CsGL.Util;
namespace OpenGL_1
{
public class csglViewer : OpenGLControl
{
drawMan man = new drawMan();
drawLegs Legs = new drawLegs();
private loadObjFile lOF = new loadObjFile(); //保存绘图数据
//定义交互性变量,用于视口的鼠标控制
public float m_xTranslation=0.0f m_yTranslation=-0.0f m_zTranslation=-0.0f; //
public float m_xRotation=0.0f m_yRotation=0.0f m_zRotation=0.0f; //定义旋转量
public float m_xScaling=1.0f m_yScaling=1.0f m_zScaling=1.0f; //定义放缩量
public float m_speedTranslation=1.0f/30.0f; //定义移动速度
public float m_speedRotation = 0.1f;
private uint drawMethod=GL.GL_LINE; //定义绘图方式
private bool lightUse=false; //定义是否使用光照
//定义鼠标动作记录
bool lMouseButtonDown;
bool rMouseButtonDown;
Point lButtonDownPos;
Point rButtonDownPos;
public csglViewer()//: base()
{
System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
this.KeyDown += new KeyEventHandler(OurView_onkeydown);
this.MouseDown += new MouseEventHandler(OurView_onmousedown);//鼠标按下响应事件
this.MouseUp+=new MouseEventHandler(OurView_onmouseup);//鼠标抬起响应事件
this.MouseMove+=new MouseEventHandler(OurView_onmousemove);//鼠标移动响应事件
this.MouseWheel+=new MouseEventHandler(OurView_onmousewheel);//鼠标滚轮事件
}
public void setObjFile(loadObjFile l) //将从主窗口处获取的数据保存,用于绘图
{
lOF = l;
Invalidate();
Update();
}
public void fitParameter() //配置绘图参数,适合模型在窗口中显示
{
m_xTranslation = -(lOF.xMaxAxes + lOF.xMinAxes) / 2;
m_yTranslation = -(lOF.yMaxAxes + lOF.yMinAxes) / 2;
float maxDis;
maxDis = lOF.xMinAxes - lOF.xMaxAxes;
maxDis = (maxDis > (lOF.yMinAxes - lOF.yMaxAxes)) ? (lOF.yMinAxes - lOF.yMaxAxes) : maxDis;
maxDis = (maxDis > (lOF.zMinAxes - lOF.zMaxAxes)) ? (lOF.zMinAxes - lOF.zMaxAxes) : maxDis;
m_zTranslation = maxDis;
}
public override void glDraw() //重载绘图
{
GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); // Clear The Screen And The Depth Buffer
GL.glLoadIdentity(); // Reset The Current Modelview Matrix
// TODO: Draw a box or something
// this.SwapBuffer(); // swap Buffers
GL.glTranslatef(m_xTranslation m_yTranslation m_zTranslation);
GL.glRotatef(m_xRotation 1.0f 0.0f 0.0f);
GL.glRotatef(m_yRotation 0.0f 1.0f 0.0f);
GL.glScaled(m_xScaling m_yScali
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8947 2009-03-24 14:53 单棵芭蕉树\Backup\OpenGL_1\csglViewer.cs
文件 1315 2009-03-24 14:03 单棵芭蕉树\Backup\OpenGL_1\drawLegs.cs
文件 5004 2009-03-19 13:22 单棵芭蕉树\Backup\OpenGL_1\drawMan.cs
文件 3321 2009-03-24 20:54 单棵芭蕉树\Backup\OpenGL_1\Form1.cs
文件 6538 2009-03-24 20:48 单棵芭蕉树\Backup\OpenGL_1\Form1.Designer.cs
文件 6017 2009-03-24 14:54 单棵芭蕉树\Backup\OpenGL_1\Form1.resx
文件 4168 2009-03-24 14:26 单棵芭蕉树\Backup\OpenGL_1\loadObjFile.cs
文件 3604 2009-03-21 11:46 单棵芭蕉树\Backup\OpenGL_1\OpenGL_1.csproj
文件 471 2009-03-18 21:07 单棵芭蕉树\Backup\OpenGL_1\Program.cs
文件 1170 2009-03-18 20:13 单棵芭蕉树\Backup\OpenGL_1\Properties\AssemblyInfo.cs
文件 2872 2009-03-18 20:13 单棵芭蕉树\Backup\OpenGL_1\Properties\Resources.Designer.cs
文件 5612 2009-03-18 20:13 单棵芭蕉树\Backup\OpenGL_1\Properties\Resources.resx
文件 1093 2009-03-18 20:13 单棵芭蕉树\Backup\OpenGL_1\Properties\Settings.Designer.cs
文件 249 2009-03-18 20:13 单棵芭蕉树\Backup\OpenGL_1\Properties\Settings.settings
文件 913 2009-03-18 20:13 单棵芭蕉树\Backup\OpenGL_1.sln
文件 18432 2009-03-24 20:54 单棵芭蕉树\Backup\OpenGL_1.suo
文件 8947 2009-03-24 14:53 单棵芭蕉树\OpenGL_1\Backup\OpenGL_1\csglViewer.cs
文件 1315 2009-03-24 14:03 单棵芭蕉树\OpenGL_1\Backup\OpenGL_1\drawLegs.cs
文件 5004 2009-03-19 13:22 单棵芭蕉树\OpenGL_1\Backup\OpenGL_1\drawMan.cs
文件 3321 2009-03-24 20:54 单棵芭蕉树\OpenGL_1\Backup\OpenGL_1\Form1.cs
文件 6538 2009-03-24 20:48 单棵芭蕉树\OpenGL_1\Backup\OpenGL_1\Form1.Designer.cs
文件 6017 2009-03-24 14:54 单棵芭蕉树\OpenGL_1\Backup\OpenGL_1\Form1.resx
文件 4168 2009-03-24 14:26 单棵芭蕉树\OpenGL_1\Backup\OpenGL_1\loadObjFile.cs
文件 3604 2009-03-21 11:46 单棵芭蕉树\OpenGL_1\Backup\OpenGL_1\OpenGL_1.csproj
文件 471 2009-03-18 21:07 单棵芭蕉树\OpenGL_1\Backup\OpenGL_1\Program.cs
文件 1170 2009-03-18 20:13 单棵芭蕉树\OpenGL_1\Backup\OpenGL_1\Properties\AssemblyInfo.cs
文件 2872 2009-03-18 20:13 单棵芭蕉树\OpenGL_1\Backup\OpenGL_1\Properties\Resources.Designer.cs
文件 5612 2009-03-18 20:13 单棵芭蕉树\OpenGL_1\Backup\OpenGL_1\Properties\Resources.resx
文件 1093 2009-03-18 20:13 单棵芭蕉树\OpenGL_1\Backup\OpenGL_1\Properties\Settings.Designer.cs
文件 249 2009-03-18 20:13 单棵芭蕉树\OpenGL_1\Backup\OpenGL_1\Properties\Settings.settings
............此处省略154个文件信息
- 上一篇:啊哈,算法,啊哈算法完整版,有趣的算法书
- 下一篇:ffmpeg for Linux
相关资源
- VS2012OpenGL配置所需要的全部libdllh文件
- 土地信息管理系统
- ServiceStack V3.9 全部dll
- PDF pdfview.ocx 无水印
- 基于OpenGL的仿蝗虫机器人三维动态仿
- 无需共享打印机实现远程打印功能小
- 图形学 - OpenGL实现3种三维茶壶显示源
- opengl程序-会跳舞的骷髅
- opengl实现三维网格光顺Laplacian算法
- opengl——爆炸
- OpenGL三维地形建模
- 真正的破解版PDFView4NET
- 网页调用ActiveX控件获取串口数据
- opengl游戏编程徐明亮版(含源码)
- 用OPENGL画的一个简单的直升飞机
- opengl完美天空盒
- 3D绘图程序设计:使用Direct3D 10/9和Ope
- OpenGL绘制可运动自行车源程序.zip
- OpenGL实现飘动效果
- Luence的与盘古分词的使用软件
- opengl室内场景的绘制,包括碰撞检测
- Emgu.CV 打开视频与人脸检测
- OpenGL场景漫游
- 麦克纳姆轮程序.rar
- 用opengl实现的太阳系模型
- OpenGL 3D贪吃蛇程序,很小
- Unity3D 实战视频教程 保卫萝卜 2D 游戏
- net微信支付
- OpenGL爆炸碎片化效果 源码
- lucene.net+盘古分词多条件全文检索并匹
评论
共有 条评论