由于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的替代方法的更多相关文章

  1. iOS中的过期方法和新的替代方法

    关于iOS中的过期方法和新的替代方法 1.获取某些类的UINavigationBar的统一外观并设置UINavigationbar的背景 注:方法名改了但是基本使用方法不变 + (instancety ...

  2. spring替代方法

    总结spring替代方法的使用 MyValueCalculator类中的computerValue方法将会被替代 public class MyValueCalculator { public Str ...

  3. Android中getDrawable和getColor过时的替代方法

    版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 Android SDK 升级到 23 之后,getDrawable和getColor方法提示过时. 解决方案 getResources(). ...

  4. 画删除线的方法,如何找替代方法,Deprecated注释

    用@Deprecated注释的程序元素,不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好的选择.在使用不被赞成的程序元素或在不被赞成的代码中执行重写时,编译器会发出警告. 那么相应的替代方法应 ...

  5. sizeWithFont:的替代方法

    sizeWithFont:的替代方法 -(CGFloat)changeStationWidth:(NSString *)string{ UIFont * textFont = [UIFont syst ...

  6. 新版 Scrapy 中 sys.conf.settings 的替代方法

    新版 Scrapy 中 sys.conf.settings 的替代方法 在 scrapy 项目目录下,有个 settings.py 文件,此文件是用来存放爬虫项目的各种配置,比如说 MongoDB 的 ...

  7. jQuery1.9+中删除了live以后的替代方法

    .live() removed The .live() method has been deprecated since jQuery 1.7 and has been removed in 1.9. ...

  8. [转载]jQuery 1.9 移除了 $.browser 的替代方法获取浏览器类型

    jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support . 在更新的 2.0 版本中,将不再支持 IE 6/7/8. ...

  9. jQuery 1.9 移除了 $.browser 的替代方法

    jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support . 在更新的 2.0 版本中,将不再支持 IE 6/7/8. ...

随机推荐

  1. 树莓派搭建Seafile个人网盘

    步骤一.安装Seafile依赖包 yum install python-setuptools python-ldap python-memcached MySQL-python mariadb mar ...

  2. 解决SimpleDateFormat线程安全问题

    package com.tanlu.user.util; import java.text.DateFormat; import java.text.ParseException; import ja ...

  3. qemu-img————QEMU的磁盘管理工具

    qemu-img command [command options] Command: check [-f fmt] filename                       # 对磁盘镜像文件进 ...

  4. babel实践

    现在的主流浏览器还没有完全兼容ES6的语法,如ie11就不支持箭头函数. 使用过es6的人都知道,es6更加简洁和强大,可是使用es6写出来的代码并不能得到所有主流js引擎的支持,针对这一点,一个解决 ...

  5. CSS3---圆角设置

    1.border-radius是向元素添加圆角边框.border-radius:10px; /* 所有角都使用半径为10px的圆角 */     border-radius: 5px 4px 3px ...

  6. scrapy yield 回调函数不执行解决方案

    yield Request(url=parse.urljoin(response.url, p_url),callback=self.parse_detail) 回调函数不执行: 加上: dont_f ...

  7. 算法导论 第八章 线性时间排序(python)

    比较排序:各元素的次序依赖于它们之间的比较{插入排序O(n**2) 归并排序O(nlgn) 堆排序O(nlgn)快速排序O(n**2)平均O(nlgn)} 本章主要介绍几个线性时间排序:(运算排序非比 ...

  8. 洛谷 P1434 [SHOI2002]滑雪

    这道题适合记忆化练手 毕竟总有些大佬虐题. 这个题有几个剪枝 1.记忆化 这个不用多说了吧 剪枝就是 如果 当前点到下面一个点的目前下降的高度+1 小于 下面那个点 能下降的高度 那么反过来,这个点不 ...

  9. 表连接sql执行计划学习

    循环嵌套连接(Nested Loop Join) 合并连接(Merge Join) 哈西匹配(Hash Join) 文章:浅谈SQL Server中的三种物理连接操作 循环嵌套,如果内循环列上有索引, ...

  10. CodeForces230A

    题目大意: 一个打恐龙的游戏,有初始体力s,和恐龙n只,然后输入n只恐龙的体力xi,和击杀它得到的奖励体力yi,只有自身体力大于恐龙体力时才能进行击杀,击杀恐龙的顺序可以不定 这题运用到了贪心的思想, ...