OpenTK的glutBitmapCharacter的替代方法
由于openTK并没有打包集成GLUT,字体显示就成了一个问题。
办法1:采用QuickFont
优点:可以使用系统自带的字体
缺点:代码尚未成熟、只能2D显示,无法随物体旋转、平移
办法2:同时调用OpenTK和Tao Framework,后者集成了freeglut
优点:直接使用glutbitmapcharacter
缺点:xp 64bit下无法加载Tao的DLL,Tao重新编译后也不行
在下载glut的源码后,发现这个问题解决并不麻烦,但是耗费体力。
glutbitmapcharacter的工作原理是:
首先,将ASCII码表对应的某某字体的位图数据存入byte数组中;
接着,根据用户的输入,调用glbitmap进行绘图
那么解决的思路很简单也很折腾,把freeglut_font_data.c中的字体位图数据写入到C#文件中,然后封装调用glbitmap进行绘制。
新建2个文件,一个是fontData.cs,用于存储字符位图信息,另一个是fontRender.cs,用于字符绘制。
OpenTK的glutBitmapCharacter的替代方法的更多相关文章
- iOS中的过期方法和新的替代方法
关于iOS中的过期方法和新的替代方法 1.获取某些类的UINavigationBar的统一外观并设置UINavigationbar的背景 注:方法名改了但是基本使用方法不变 + (instancety ...
- spring替代方法
总结spring替代方法的使用 MyValueCalculator类中的computerValue方法将会被替代 public class MyValueCalculator { public Str ...
- Android中getDrawable和getColor过时的替代方法
版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 Android SDK 升级到 23 之后,getDrawable和getColor方法提示过时. 解决方案 getResources(). ...
- 画删除线的方法,如何找替代方法,Deprecated注释
用@Deprecated注释的程序元素,不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好的选择.在使用不被赞成的程序元素或在不被赞成的代码中执行重写时,编译器会发出警告. 那么相应的替代方法应 ...
- sizeWithFont:的替代方法
sizeWithFont:的替代方法 -(CGFloat)changeStationWidth:(NSString *)string{ UIFont * textFont = [UIFont syst ...
- 新版 Scrapy 中 sys.conf.settings 的替代方法
新版 Scrapy 中 sys.conf.settings 的替代方法 在 scrapy 项目目录下,有个 settings.py 文件,此文件是用来存放爬虫项目的各种配置,比如说 MongoDB 的 ...
- jQuery1.9+中删除了live以后的替代方法
.live() removed The .live() method has been deprecated since jQuery 1.7 and has been removed in 1.9. ...
- [转载]jQuery 1.9 移除了 $.browser 的替代方法获取浏览器类型
jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support . 在更新的 2.0 版本中,将不再支持 IE 6/7/8. ...
- jQuery 1.9 移除了 $.browser 的替代方法
jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support . 在更新的 2.0 版本中,将不再支持 IE 6/7/8. ...
随机推荐
- 用Jenkins构建项目实战
登录Jenkins,新建任务 输入一个任务名称,选择一个项目类型 使用自定义工作空间:使该项目独立于系统的工作空间 自动从Git下载源码,点击添加可以增加凭证 日程表的参数: 第一个参数代表的是分钟 ...
- InnoDB INFORMATION_SCHEMA Tables about Compression
InnoDB INFORMATION_SCHEMA Tables about Compression 了解关于压缩的InnoDB INFORMATION_SCHEMA表,可以深入了解压缩的整体运行情况 ...
- Apache web服务
1.apache 1> 世界上使用率最高的网站服务器,最高时可达70%:官方网站:apache.org 2> http 超文本协议 HTML超文本标记语言 3> URL 统一资源定位 ...
- 第三讲:post-processsing with vcs+ files
1,dump wave by system function $vcdpluson(level_number,module_instance,....|net_or_reg) $vcdplusoff ...
- 2017acm南宁现场赛 J题 Rearrangement
题意: 给定一个2 * n的矩阵, 和 2 * n 个数, 问能不能通过重排列, 使得任意相邻两数不能被3整除 分析: 这题一直卡到最后, 赛后经对面大佬提醒后, 发现统计所有数模三的结果(0,1,2 ...
- Oracle数据库之初步接触
每个Oracle数据库都是数据的集合,这些数据包含在一个或多个文件中.数据库有物理和逻辑两种结构.在开发应用程序的过程中,会创建诸如表和索引这样的结构,这些结构用于数据行的存储和查询.可以为对象的名称 ...
- xtu字符串 B. Power Strings
B. Power Strings Time Limit: 3000ms Memory Limit: 65536KB 64-bit integer IO format: %lld Java c ...
- zoj 2722 Head-to-Head Match(两两比赛)
Head-to-Head Match Time Limit: 2 Seconds Memory Limit: 65536 KB Our school is planning to hold ...
- C#静态构造函数和非静态构造函数
// 使用静态构造函数时,需要注意几点 //1. 一个类中,最多只能有一个静态构造函数,不允许静态构造函数的重载: //2. 不能加任何访问修饰符(public/private/internale等) ...
- 七牛云赵之健:多维度融合赋能视频 AI 的实践
6 月 30 日下午,赵之健在七牛架构师实践日第二十九期进行了<多维度融合赋能视频 AI 的实践>为题的实战分享. 作者简介: 赵之健,七牛人工智能实验室资深算法工程师, 七 ...