大家好,我是skyman(sm3d),喜欢三维编程,现在正在系统学习opengl,directx,vr等.我经常到各大论坛上去转转.其中去得最多的地方是nehe的opengl网站(http://nehe.gamedev.net),那是我所见过的最好的学习opengl的网站,强烈推荐!!!这是我的第一篇关于opengl的文章,写得不是很好,欢迎大家指正.
【程序编程相关:深入解析钩子和动态链接库(上)】 大家知道,在opengl中输出文本有两个函数:wglusefontbitmaps与wglusefontoutlines,前者用来输出2维文字,后者用来输出3维文字.而要输出汉字,必须使用truetype字体.本文就教你如何使用wglusefontoutlines来创建很酷的三维汉字特效.从此文,你可以学到三点知识:1.如何从文件中载入位图作为纹理;2.如何生成三维汉字;3.如何将纹理贴到三维汉字上.本程序运行效果如下图所示: 【推荐阅读:Microsoft (R) Web 服务】 我使用的是nehe的simple框架.为了简便起见,我这里只列出增加的代码. 【扩展信息:公历转农历(C版本)】 首先,再头文件定义区加上:#include <stdio.h> 接着,在bool fullscreen=true;后面定义要用到的变量: gluint texture[1];//纹理id int rot=0;//三维汉字绕x轴旋转的角度 hfont hfont;//字体句柄 logfont lf;//逻辑字体 glyphmetricsfloat gmf[128];//包括字形的位置与方向信息的结构 unsigned int ichar=0; //字符的整型值 char cchar; //要转换为显示列表的字符 unsigned int i=0;//循环变量 unsigned int j=0; //循环变量 char text[128];//存放要显示的字符的数组 byte textlist[128];//显示列表 const gluint listbase=1000; //显示列表的基 然后在lresult callback wndproc(hwnd, uint, wparam, lparam);后面定义载入文理的函数loadbmp与loadgltextures,这个在nehe的许多教程里都有,这里再写一下: aux_rgbimagerec *loadbmp(char *filename) // 载入位图 { file *file=null; // 文件句柄... 下一页