位置: 编程技术 - 正文

C#+OpenGL编程之环境搭建(windows)(c# opengl绘图)

编辑:rootadmin

推荐整理分享C#+OpenGL编程之环境搭建(windows)(c# opengl绘图),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:c++opengl,c#环境,c# opengl 3d,c语言opengl代码,c# opengl 3d,c# opengl 3d,c#opengl入门,c# opengl绘图,内容如对您有帮助,希望把文章链接给更多的朋友!

现在各种引擎红红火火,为什么还要开图像基础呢?现在的游戏开发中游戏引擎有什么样的地位,是不是不可缺少的。我觉得游戏引擎或多或少的会对游戏开发的灵活性有一些限制。不同公司使用的引擎应该是不一样的,有没有必要现在就确定去学习某一种游戏引擎?

一般来说必须用的,涉及到游戏制作的速度质量问题。

EA游戏为例,如果你看过FIFA、极品飞车、模拟人生等等游戏的代码,很容易看出,EA做引擎的强项就是编辑器,市面上的引擎自带的编辑器只有%的功能,可以看出大游戏中引擎的实力。

星际2卖的是地图编辑器,这句话足以说明上面的例子。

本文并不是一个Opengl起步教程,本系列教程参考《Opengl 游戏编程》一书

对于OPENGL,C#有多个库可供选择, Tao Framework&#;.net 2.0,作为开发平台

使用版本:taoframework-2.1.0

搭建环境有两个方式,一个类&#;控制台程序 等同于C int main(int argc, char** argv) 。

原书使用win方式,我们使用winform项目搭建。

启动VS,新建一个C# WindowsFormsApplication,然后新建一个class

引用taoframework 的Tao.OpenGl、Tao.Glfw 、Tao.Platform.Windows

如果没有opengl基础,要看懂上面例子比较困难。这里要求大家学习Opengl基础了。原书用了-页讲述框架搭建,你看我们才行代码。。。

首先我们要理解,我们用win方式非命令行方式,需要大家学习win 编程,知道我们使用消息循环,初始化 GLFW就采用这种方式。

C#+OpenGL编程之环境搭建(windows)(c# opengl绘图)

接下来我们需要初始化OpenGL变换:

物体坐标-》模型视点矩阵-》投影矩阵-》视口变换-》屏幕

为了以后教程方便,或者说我想节省代码(XXXX)。。

我把上述过程拆分为

InitGL 初始化OpenGL,基本不会变动的

iniView 初始化 投影矩阵和模型视点矩阵

DrawGLScene 绘制场景

Update 数据更新

这几个方法,都是用virtual 函数,将来我们可以通过重载修改里面的方法实现新场景。

然后把winform 启动类Program.cs修改为

也就是我们的Class 就好了。

但上述方法我们是无法启动程序的,会报缺少glfw.dll,这是因为taoframework封装C代码或者说非托管代码,我们还需要把本地代码glfw.dll拷贝到程序目录才可以运行。

大家要注意的是,本机代码分X和X,也就是位和位,taoframework自带的是位版本,这里有两个办法:

1、将VS 项目 build- platform target的Any Cpu 修改为x,然后使用taoframework自带的glfw.dll

或者

去glfw官方下载编译好的X和X版本,然后制作两个平台的EXE。

OpenGl参考资料1. 《 OpenGL Reference Manual 》, OpenGL 参考手册2. 《 opengl 游戏编程》作者:徐明亮,卢红星,王琬编著,机械工业出版社, 本系列教程代码均参照此书,代码下载 《win OpenGL编程 》 一个大牛的博客 《OpenGL函数思考 》 里面有很多OpenGL函数的通俗解释

C#+OpenGL编程之OpenGL 纹理载入 本文基础:C#OpenGL编程之环境搭建载入一个模型,光秃秃的可不好,这课开始学习纹理载入,纹理载入需要注意的地方就是最好只载入一次纹理,否则容

C#+OpenGL编程之OpenGL 多重纹理 本文基础:C#OpenGL编程之OpenGL纹理载入本文继续介绍多重纹理使用。多重纹理使用和单纹理差不多,不过要注意的是多重纹理不是标准OpenGL1.1中的函数,

C#+OpenGL编程之OpenGL 材质 本文基础:C#OpenGL编程之环境搭建原书用了个样本球显示各种材质效果,原书的auxSolidSphere这个函数,C#没有封装,我就把例程修改为个正方形。usingSy

标签: c# opengl绘图

本文链接地址:https://www.jiuchutong.com/biancheng/373252.html 转载请保留说明!

上一篇:C#+OpenGL编程之OpenGL 光照(opengl编程实例)

下一篇:C#+OpenGL编程之OpenGL 纹理载入(c opengl)

  • 实收资本怎么交所得税
  • 销售二手车需要什么资质
  • 公司取得违约金合法吗
  • 酒店购买的空调折旧计入管理费用吗
  • 委托加工物资属于企业资产吗
  • 51电子发票客户端后使用教程
  • 会计凭证填制要求有哪些
  • 个人互换住房土地增值税
  • 建安行业外地预缴工会经费
  • 增值税免税收入进项税额转出
  • 开出增值税发票没收到怎么抵扣进项税?
  • 30万的装修工程利润一般是多少
  • 公司当年福利费没有用到限额,可以按照14%计提税前扣除吗?
  • 完工产品定额直接材料费用
  • 日常服务app
  • 增值税进项余额月末转吗
  • 一般纳税人取得免税农产品进项怎么抵扣
  • 生产的废材料处理如何记账是否缴税?
  • 财政指标文和拨款流程
  • 刚装好的服务器怎么安装
  • 软件存在的意义
  • php怎么启动
  • 转出未交增值税借方余额表示什么
  • 医保和养老保险一样吗
  • php在线阅读器源代码
  • 金融企业风险资产处理相关税收政策
  • 调整以前年度亏损
  • 马纳斯古盐田气候特征
  • 企业在境外发生业务国外缴税后国内怎么做
  • 增值税抵扣新政策
  • 会计中持有至到期投资是什么意思
  • javascript原生
  • resnet+unet
  • 两阶段鲁棒优化 多目标
  • js中...的用法
  • vue移动
  • 商业折扣的会计分录
  • 收入少收钱账务处理
  • PHP MongoDB GridFS 存储文件的方法详解
  • php命令行模式
  • 事业单位会计准则与政府会计准则的区别
  • 科技型中小企业有什么好处
  • 会计期末业务有哪些?
  • 一般纳税人和小规模纳税人的区别
  • 工会费可以发现金吗
  • 季度报表利润表本期金额怎么填
  • 库存现金太多违反什么规定
  • 什么是存货周转期间
  • 月末结转增值税怎么算
  • 废旧物资处理的税金
  • 其他收益结转到什么科目
  • 劳务关系需要交税吗
  • 不动产拆除的收入处理
  • 2021年税控盘收费
  • 法人银行贷款
  • 预收账款借贷方向增减
  • 贴现汇票到期收回时
  • 未分配利润属于总账科目吗
  • 应交税费应交增值税已交税金怎么用
  • 各种会计凭证的填制
  • sql语句删除语句
  • freebsd使用
  • linux查看当前时间戳
  • centos防火墙策略配置
  • xp系统怎么和win7系统共享
  • xp系统怎么调性能
  • 查看linux系统日志命令
  • win10更新后电脑黑屏
  • WIN10补丁无法卸载
  • cocos creator 碰撞检测
  • Screen.sleepTimeout=SleepTimeOut.NeverSleep 禁止屏幕锁屏
  • 怎么用javascript
  • unity3d跨平台
  • jquery下拉列表
  • 青岛网上办税服务厅登录
  • 营改增后一般纳税人动产租赁税率
  • 医院电子发票怎么查
  • 退休人员还写工作单位吗
  • 余姚市税务局咨询热线
  • 依法征拆
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设