• 大小: 40.68MB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-02-03
  • 语言: 其他
  • 标签: opengl  

资源简介

opengl游戏编程徐明亮版

资源截图

代码片段和文件信息

/**
*  @file  GLFont.cpp
*
*  项目描述: DirectInput键盘演示
*  文件描述:  字体类  
*  适用平台: Windows98/2000/NT/XP
*  
*  作者:     WWBOSS
*  电子邮件:  wwboss123@gmail.com
*  创建日期: 2006-09-13
*  修改日期: 2006-12-02
*
*/     
//========================================================

#include “Font.h“

GLFont::GLFont()
{
}
/** 析构函数 */
GLFont::~GLFont()
{
if(m_hFont)
Deleteobject(m_hFont); /**< 删除字体句柄 */
}
/** 初始化字体 */
bool GLFont::InitFont()
{
 
  /**< 创建字体 */
   m_hFont = CreateFont(-26 /**< 字体高度 */
0 /**< 字体宽度 */
0 /**< 字体的旋转角度 Angle Of Escapement */
0 /**< 字体底线的旋转角度Orientation Angle */
FW_BOLD /**< 字体的重量 */
FALSE /**< 是否使用斜体 */
FALSE /**< 是否使用下划线 */
FALSE /**< 是否使用删除线 */
GB2312_CHARSET /**< 设置字符集 */
OUT_TT_PRECIS /**< 输出精度 */
CLIP_DEFAULT_PRECIS /**< 裁剪精度 */
ANTIALIASED_QUALITY /**< 输出质量 */
FF_DONTCARE|DEFAULT_PITCH /**< Family And Pitch */
“宋体“); /**< 字体名称 */
 if(!m_hFont)
return false;  /**< 创建字体失败则返回 */
  /** 初始化成功则返回true */
   return true;
}

/** 在指定位置输出字符串 */
void GLFont::PrintText(char *string float x float y)
{
HBITMAP hBitmaphOldBmp; /**< 定义两个位图句柄 */
BITMAP bm;               /**< 位图结构变量 */
SIZE size;               /**< 位图尺寸 */
GLboolean lptp;
HDC hDC = ::CreateCompatibleDC(0); /**< 暂存设备场景 */
glGetBooleanv(GL_LIGHTING&lp);  /**< 查看场景中是否有光照 */
glGetBooleanv(GL_TEXTURE_2D&tp);/**< 查看场景中是否启用纹理 */
/** 保存和设置一些属性 */
glLoadIdentity();
glPushMatrix();
glTranslatef(00-10.0f);
glDisable(GL_LIGHTING);    /**< 关闭光照 */
glDisable(GL_TEXTURE_2D);  /**< 关闭纹理 */
glDisable(GL_DEPTH_TEST);  /**< 关闭深度测试 */
Selectobject(hDC m_hFont); /**< 选择字体 */
::GetTextExtentPoint32(hDC string strlen(string) &size);/**< 获取字符位图大小 */
hBitmap = CreateBitmap(size.cx size.cy1 1 NULL); /**< 创建与hDC相关单色位图 */
hOldBmp = (HBITMAP)Selectobject(hDChBitmap); /**< 选择位图 */
  
SetBkColor(hDC RGB(0 0 0));              /**< 背景色为黑色 */
SetTextColor(hDC RGB(255 255 255));      /**< 字体颜色白色 */
SetBkMode(hDC OPAQUE);                     /**< 用当前的背景颜色填充背景 */
TextOut(hDC 0 0 string strlen(string)); /**< 输出文字到暂存hDC */
/** 获得相关位图数据结构 */
Getobject(hBitmap sizeof(bm) &bm);
size.cx = (bm.bmWidth + 31) & (~31); /**< 边缘对齐 */
size.cy = bm.bmHeight;
int bufsize = size.cx * size.cy/8;  /**< 图形数据长度 */
    /** 定义单色位图结构 */  
struct {
BITMAPINFOHEADER bih;
RGBQUAD col[2];
}bic;
    /** 获取单色位图结构信息 */
BITMAPINFO *binf = (BITMAPINFO *)&bic;
binf->bmiHeader.biSize = sizeof(binf->bmiHeader); /**< 修改结构信息 */
binf->bmiHeader.biWidth = bm.bmWidth;
binf->bmiHeader.biHeight = bm.bmHeight;
binf->bmiHeader.biPlanes = 1;
binf->bmiHeader.biBitCount = 1;       /**< 单色 */
binf->bmiHeader.biCompression = BI_RGB;  /**< 颜色方式 */
binf->bmiHeader.biSizeImage = bufsize;
binf->bmiHeader.biXPelsPerMeter = 1;
binf->bmiHeader.biYPelsPerMeter = 1;
binf->bmiHeader

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件         15  2011-05-15 19:43  openglgame\New Text Document.txt

     文件     315904  2007-11-13 11:05  openglgame\OpenGL开发库\DLL\GLU.DLL

     文件     154624  2007-11-13 11:05  openglgame\OpenGL开发库\DLL\GLUT.DLL

     文件     237568  2007-11-13 11:05  openglgame\OpenGL开发库\DLL\GLUT32.DLL

     文件    1213440  2007-11-13 11:05  openglgame\OpenGL开发库\DLL\OPENGL.DLL

     文件      69083  2007-11-13 11:05  openglgame\OpenGL开发库\INCLUDE\GL.H

     文件      12024  2007-11-13 11:05  openglgame\OpenGL开发库\INCLUDE\GLAUX.H

     文件      12794  2007-11-13 11:05  openglgame\OpenGL开发库\INCLUDE\GLEXT.H

     文件      18282  2007-11-13 11:05  openglgame\OpenGL开发库\INCLUDE\GLU.H

     文件      27670  2007-11-13 11:05  openglgame\OpenGL开发库\INCLUDE\GLUT.H

     文件      17183  2007-11-13 11:05  openglgame\OpenGL开发库\INCLUDE\WGLEXT.H

     文件    1312394  2007-11-13 11:05  openglgame\OpenGL开发库\LIB\GLAUX.LIB

     文件      35606  2007-11-13 11:05  openglgame\OpenGL开发库\LIB\glu.lib

     文件      49514  2007-11-13 11:05  openglgame\OpenGL开发库\LIB\GLU32.LIB

     文件      79654  2007-11-13 11:05  openglgame\OpenGL开发库\LIB\glut.lib

     文件      69580  2007-11-13 11:05  openglgame\OpenGL开发库\LIB\GLUT32.LIB

     文件     242802  2007-11-13 11:05  openglgame\OpenGL开发库\LIB\opengl.lib

     文件     336274  2007-11-13 11:05  openglgame\OpenGL开发库\LIB\OPENGL32.LIB

     文件       2566  2007-11-13 11:04  openglgame\第10章\DirectInput键盘演示\Debug\BuildLog.htm

     文件     188416  2007-11-13 11:04  openglgame\第10章\DirectInput键盘演示\Debug\DirectInput键盘演示.exe

     文件     796940  2007-11-13 11:04  openglgame\第10章\DirectInput键盘演示\Debug\DirectInput键盘演示.ilk

     文件     846848  2007-11-13 11:04  openglgame\第10章\DirectInput键盘演示\Debug\DirectInput键盘演示.pdb

     文件      18015  2007-11-13 11:04  openglgame\第10章\DirectInput键盘演示\Debug\Font.obj

     文件      28600  2007-11-13 11:04  openglgame\第10章\DirectInput键盘演示\Debug\GLframe.obj

     文件      23394  2007-11-13 11:04  openglgame\第10章\DirectInput键盘演示\Debug\GLWindow.obj

     文件      47111  2007-11-13 11:04  openglgame\第10章\DirectInput键盘演示\Debug\Input.obj

     文件      32426  2007-11-13 11:04  openglgame\第10章\DirectInput键盘演示\Debug\KeyboardDemo.obj

     文件      10551  2007-11-13 11:04  openglgame\第10章\DirectInput键盘演示\Debug\stdafx.obj

     文件     388096  2007-11-13 11:04  openglgame\第10章\DirectInput键盘演示\Debug\vc70.idb

     文件     126976  2007-11-13 11:04  openglgame\第10章\DirectInput键盘演示\Debug\vc70.pdb

............此处省略1364个文件信息

评论

共有 条评论