• 大小: 14.63MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-06-16
  • 语言: C/C++
  • 标签: opengl  

资源简介

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\link-cvtres.read.1.tlog
     文件           2  2013-03-24 11:59  openGL~~\openGL\Debug\link-cvtres.write.1.tlog
     文件           2  2013-03-24 11:59  openGL~~\openGL\Debug\link.10404-cvtres.read.1.tlog
     文件           2  2013-03-24 11:59  openGL~~\openGL\Debug\link.10404-cvtres.write.1.tlog
     文件           2  2013-03-24 11:59  openGL~~\openGL\Debug\link.10404.read.1.tlog
     文件           2  2013-03-24 11:59  openGL~~\openGL\Debug\link.10404.write.1.tlog
     文件           2  2013-03-24 11:59  openGL~~\openGL\Debug\link.15372-cvtres.read.1.tlog
     文件           2  2013-03-24 11:59  openGL~~\openGL\Debug\link.15372-cvtres.write.1.tlog
     文件           2  2013-03-24 11:59  openGL~~\openGL\Debug\link.15372.read.1.tlog
     文件           2  2013-03-24 11:59  openGL~~\openGL\Debug\link.15372.write.1.tlog
     文件           2  2013-03-24 11:59  openGL~~\openGL\Debug\link.5524-cvtres.read.1.tlog
     文件           2  2013-03-24 11:59  openGL~~\openGL\Debug\link.5524-cvtres.write.1.tlog
     文件           2  2013-03-24 11:59  openGL~~\openGL\Debug\link.5524.read.1.tlog
     文件           2  2013-03-24 11:59  openGL~~\openGL\Debug\link.5524.write.1.tlog
     文件           2  2013-03-24 11:59  openGL~~\openGL\Debug\link.8712-cvtres.read.1.tlog
     文件           2  2013-03-24 11:59  openGL~~\openGL\Debug\link.8712-cvtres.write.1.tlog
     文件           2  2013-03-24 11:59  openGL~~\openGL\Debug\link.8712.read.1.tlog
............此处省略28个文件信息

评论

共有 条评论