资源简介
C++用opengl绘制出的二维坐标,简单明了,很容易理解,并且各个部分均有注释
代码片段和文件信息
//GLfont.cpp: implementation of the GLfont class.
//
//////////////////////////////////////////////////////////////////////
#include “GLfont.h“
#include “gl/gl.h“
#include “stdio.h“
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
GLfont::GLfont()
{
LOGFONT lf;
lf.lfHeight = 12;
lf.lfWidth = 0;
lf.lfEscapement = 0;
lf.lfOrientation = 0;
lf.lfWeight = FW_DONTCARE;
lf.lfItalic = false;
lf.lfUnderline = false;
lf.lfStrikeOut = false;
lf.lfCharSet = DEFAULT_CHARSET;
lf.lfOutPrecision = OUT_TT_PRECIS;
lf.lfClipPrecision = CLIP_DEFAULT_PRECIS;
lf.lfQuality = PROOF_QUALITY;
lf.lfPitchAndFamily = VARIABLE_PITCH | TMPF_TRUETYPE | FF_MODERN;
strcpy(lf.lfFaceName“宋体“);
// 创建字体
m_hFont = CreateFontIndirect(&lf);
}
GLfont::~GLfont()
{
if(m_hFont) Deleteobject(m_hFont);
glDeleteLists(base 96);
}
void GLfont::BuildEnglishFont(HDC hDCint size) // Build Our Bitmap Font
{
HFONT font; // Windows Font ID
HFONT oldfont; // Used For Good House Keeping
base = glGenLists(96); // Storage For 96 Characters
font = ::CreateFont(-size // Height Of Font
0 // Width Of Font
0 // Angle Of Escapement
0 // Orientation Angle
FW_DONTCARE // Font Weight
FALSE // Italic
FALSE // Underline
FALSE // Strikeout
ANSI_CHARSET // Character Set Identifier
OUT_TT_PRECIS // Output Precision
CLIP_DEFAULT_PRECIS // Clipping Precision
ANTIALIASED_QUALITY // Output Quality
FF_DONTCARE|DEFAULT_PITCH // Family And Pitch
“Arial“); // Font Name
oldfont = (HFONT)Selectobject(hDC font); // Selects The Font We Want
wglUseFontBitmaps(hDC 32 96 base); // Builds 96 Characters Starting At Character 32
Selectobject(hDC oldfont); // Selects The Font We Want
Deleteobject(font); // Delete The Font
}
void GLfont::glPrintEnglish(float xfloat yfloat rfloat gfloat bconst char *fmt ...) // Custom GL “Print“ Routine
{
glDisable(GL_LIGHTING);
glDisable(GL_TEXTURE);
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
char text[256]; // Holds Our String
va_list ap; // Pointer To List Of Arguments
if (fmt == NULL) // If There‘s No Text
return; // Do Nothing
va_start(ap fmt); // Parses The String For Variables
vsprintf(text fmt ap); // And Converts Symbols To Actual Numbers
va_end(ap); // Results Are Stored In Text
glPushAttrib(GL_LIST_BIT); // Pushes The Display List Bits
glListbase(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-03-25 14:02 openGL~~\
目录 0 2013-03-25 14:02 openGL~~\Debug\
文件 48128 2013-03-24 11:59 openGL~~\Debug\openGL.exe
文件 455548 2013-03-24 11:59 openGL~~\Debug\openGL.ilk
文件 494592 2013-03-24 11:59 openGL~~\Debug\openGL.pdb
目录 0 2013-03-25 14:02 openGL~~\ipch\
目录 0 2013-03-25 14:02 openGL~~\ipch\opengl-11ef6804\
文件 33816576 2013-03-24 11:07 openGL~~\ipch\opengl-11ef6804\opengl-bcb87db1.ipch
目录 0 2013-03-25 14:02 openGL~~\openGL\
目录 0 2013-03-25 14:02 openGL~~\openGL\Debug\
文件 24618 2013-03-24 11:59 openGL~~\openGL\Debug\CL.read.1.tlog
文件 1178 2013-03-24 11:59 openGL~~\openGL\Debug\CL.write.1.tlog
文件 1330 2013-03-24 11:59 openGL~~\openGL\Debug\cl.command.1.tlog
文件 37836 2013-03-24 11:59 openGL~~\openGL\Debug\glFont.obj
文件 2 2013-03-24 11:59 openGL~~\openGL\Debug\li
文件 2 2013-03-24 11:59 openGL~~\openGL\Debug\li
文件 2 2013-03-24 11:59 openGL~~\openGL\Debug\li
文件 2 2013-03-24 11:59 openGL~~\openGL\Debug\li
文件 2 2013-03-24 11:59 openGL~~\openGL\Debug\li
文件 2 2013-03-24 11:59 openGL~~\openGL\Debug\li
文件 2 2013-03-24 11:59 openGL~~\openGL\Debug\li
文件 2 2013-03-24 11:59 openGL~~\openGL\Debug\li
文件 2 2013-03-24 11:59 openGL~~\openGL\Debug\li
文件 2 2013-03-24 11:59 openGL~~\openGL\Debug\li
文件 2 2013-03-24 11:59 openGL~~\openGL\Debug\li
文件 2 2013-03-24 11:59 openGL~~\openGL\Debug\li
文件 2 2013-03-24 11:59 openGL~~\openGL\Debug\li
文件 2 2013-03-24 11:59 openGL~~\openGL\Debug\li
文件 2 2013-03-24 11:59 openGL~~\openGL\Debug\li
文件 2 2013-03-24 11:59 openGL~~\openGL\Debug\li
文件 2 2013-03-24 11:59 openGL~~\openGL\Debug\li
............此处省略28个文件信息
相关资源
- openGL_c++复刻我的世界游戏
- CAD应用程序开发详解 Visual C++与Open
- OpenGL+MFC三维绘图
- opengl绘制一个单位立方体正平行投影
- VTK图形图像开发进阶_高清完整版
- Step by Step Skeletal Animation in C++ and Ope
- opengl游戏
- glut.3.7.6+.DevPak
- opengl绘制简单小动物
- kinect+openGL+openNI+opencv实现三维重建
- openGL和C++实现光线跟踪作业
- Timer时钟.zip
- OpenGL3D
- Dialog下创建 MFC OpenGL子窗口
- 仿雷电游戏OpenGL源码C++版
- DDA画线算法
- 模拟卫星旋转和地球自转
- OpenGL纹理贴图源程序.rar
- 计算机图形学实验二 opengl
- OpenGL载入3ds模型并在MFC视图窗口显示
- 计算机图形学OpenGL画机器人
- openGL通过点线方式画出立方体并移动
- OPENGL 画颜色渐变六角星+旋转
- opengl头文件
- opengl五角星绘制
- OpenGL火焰
- OpenGL纹理茶壶
- OpenGL实现的三维桌球游戏模拟源代码
- openGL绘制的一个移动的2D小车,C++编写
- OPENGL分形模拟山脉
评论
共有 条评论