资源简介
OPenGL实现的虚拟校园环境漫游系统
代码片段和文件信息
// GLFont.cpp: implementation of the CGLFont class.
//程序设计:唐明理 2005.2
//E_mail cqtml@163.com
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “GLFont.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
//unsigned int base;
//////////////////////////////////////////////////////////////////////
CGLFont::CGLFont()
{
}
CGLFont::~CGLFont()
{
}
void CGLFont::entext( float xfloat y LPCTSTR str HFONT hFont
float r float g float b)
{ HDC hdc = wglGetCurrentDC();
Selectobject(hdc hFont);
unsigned int base = glGenLists(96);
wglUseFontBitmaps(hdc 32 96base);
glDisable(GL_TEXTURE_2D);
glDisable(GL_LIGHTING);
glPushAttrib(GL_LIST_BIT);
glColor3f(rgb);
glRasterPos2f(x/100 y/100);
glListbase(base - 32);
glCallLists(strlen(str) GL_UNSIGNED_BYTE str);
glPopAttrib();
glEnable(GL_LIGHTING);
glEnable(GL_TEXTURE_2D);
glDeleteLists(base 96);
}
//////////////////////////////////////////////////////////////////
void CGLFont::c3dtext(LPCTSTR strHFONT hFontfloat z)
{ glDisable(GL_TEXTURE_2D);
glDisable(GL_LIGHTING);
Printfc3d(“立体汉字“hFontz);
glEnable(GL_LIGHTING);
glEnable(GL_TEXTURE_2D);
}
void CGLFont::Printfc3d(CString strTextHFONT hFontfloat z)
{ HDC hdc = wglGetCurrentDC();
HFONT hOldFont=(HFONT)::Selectobject(hdchFont);
UCHAR * pChar=(UCHAR*)strText.GetBuffer(strText.GetLength());
int nListNum;
DWORD dwChar;
GLYPHMETRICSFLOAT pgmf[1];
glPushMatrix();
for(int i = 0; i < strText.GetLength(); i++)
{ if(IsDBCSLeadByte((BYTE)pChar[i]))
{ dwChar=(DWORD)((pChar[i]<<8)|pChar[i+1]);
i++;
}
else dwChar = pChar[i];
nListNum = glGenLists(1);
wglUseFontOutlines( hdc
dwChar
1
nListNum
0.0f
z
WGL_FONT_POLYGONS
pgmf
);
glCallList(nListNum);
glDeleteLists(nListNum 1);
}
glPopMatrix();
strText.ReleaseBuffer();
::Selectobject(hdchOldFont);
}
////////////////////////////////////////////////////////////////////////
void CGLFont:: settext (float xfloat yCString strHFONT Fontfloat rfloat gfloat b)
{ glLoadIdentity();
glPushAttrib(GL_CURRENT_BIT);
glDisable(GL_TEXTURE_2D);
glDisable(GL_LIGHTING);
glColor3f(rgb);
glTranslatef(-(420-x)/800(260-y)/600-1.0f);
Printftext (00 strFont);
glEnable(GL_LIGHTING);
glEnable(GL_TEXTURE_2D);
glPopAttrib();
}
void CGLFont:: Printftext (int x int y LPCTSTR lpszTextHFONT hFont)
{ CBitmap bitmap;
BITMAP bm;
SIZE size;
HDC MDC = ::CreateCompatibleDC(0);
Selectobject(MDChFont);
::GetTextExtentPoint32(MDClpszTextstrlen(lpszText)&size);
bitmap.CreateBitmap(size.cx size.cy 1 1 NULL);
HBITMAP oldBmp=(HBITMAP)Selectobject(MDC
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 14137 2007-06-04 21:08 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\BAISCOBJ.CPP
文件 1944 2007-06-04 20:14 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\BAISCOBJ.H
目录 0 2007-06-06 19:16 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\Debug
文件 4008 2005-04-10 00:08 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\GLFont.cpp
文件 779 2005-04-09 17:07 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\GLFont.h
文件 5226 2007-06-04 21:20 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\OpenGL.cpp
文件 889 2007-06-04 21:06 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\OpenGL.h
文件 1233 2005-03-28 21:08 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\ReadMe.txt
文件 297 2005-03-28 21:08 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\StdAfx.cpp
文件 1598 2005-04-03 11:30 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\StdAfx.h
文件 545 2005-03-28 21:08 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\test.dsw
文件 58368 2007-06-04 20:01 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\test.ncb
文件 53760 2007-06-04 20:01 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\test.opt
文件 4216 2007-05-19 11:41 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\显示3D模型.cpp
文件 4551 2005-04-03 11:50 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\显示3D模型.dsp
文件 545 2005-03-28 21:08 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\显示3D模型.dsw
文件 132096 2007-06-04 21:21 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\显示3D模型.ncb
文件 57856 2007-06-04 21:21 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\显示3D模型.opt
文件 1210 2007-06-04 21:20 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型\显示3D模型.plg
目录 0 2007-06-06 19:16 虚拟环境漫游系统\虚拟环境漫游系统\A08_显示3D模型
文件 19711 2005-03-26 18:56 虚拟环境漫游系统\虚拟环境漫游系统\include\3DS.CPP
文件 3849 2005-03-26 18:56 虚拟环境漫游系统\虚拟环境漫游系统\include\3DS.H
文件 6051 1999-02-23 18:46 虚拟环境漫游系统\虚拟环境漫游系统\include\anorms.h
文件 3662 2005-01-16 00:33 虚拟环境漫游系统\虚拟环境漫游系统\include\bitmap.h
文件 4921 2005-04-03 23:07 虚拟环境漫游系统\虚拟环境漫游系统\include\explosion.cpp
文件 1365 2005-03-10 23:32 虚拟环境漫游系统\虚拟环境漫游系统\include\explosion.h
文件 3820 2004-09-02 01:01 虚拟环境漫游系统\虚拟环境漫游系统\include\InputSystem.cpp
文件 2393 2002-03-14 08:24 虚拟环境漫游系统\虚拟环境漫游系统\include\InputSystem.h
文件 24900 2005-01-17 14:18 虚拟环境漫游系统\虚拟环境漫游系统\include\md2.cpp
文件 3037 2000-10-15 16:22 虚拟环境漫游系统\虚拟环境漫游系统\include\md2.h
............此处省略270个文件信息
- 上一篇:软件工程 学生管理系统 实验报告
- 下一篇:模拟微信listview左滑出现删除按钮
相关资源
- 虚拟串口神器——Virtual Serial Port Dr
- echarts插件实现的省市区三级离线地图
- OpenGL函数与范例解析手册(中文)带
- 虚拟现实文件福音 BSContactVRML播放器
- Architectural and Operating System Support for
- 英伟达显卡虚拟化部署手册(M60 vGP
- Qt Creator中的3D绘图及动画教程(参照
- Qt实现的迷宫游戏_源码生成+寻路
- VirtNet+VirtNet虚拟网卡安装步骤
- 虚拟增强现实白皮书2018年.pdf
- OpenGL依赖库
- 电表软件 虚拟表 虚拟电表V2.7
- 用VC和opengl开发的模仿cs的小游戏
- 二维/三维图形的几何变换基于OpenGL
- 51单片机与PC串口通信的protues仿真的工
- 虚拟串口vspd8.0.412含注册码.rar
- 可实现的2DLDA算法代码
- 可实现的LPP算法代码
- 可直接实现的2DPCA算法代码
- keras实现的VGGface 特征提取,用来抽取
- 虚拟串口VSPD6.0内含注册码
- Qt下 用OpenGL 实现的模拟太阳系
- E-Class电子教室软件套装
- opengl实现的太阳系
- OpenGL 4 Shading Language Cookbook - Second Ed
- OpenGL从盒子飞出的气球
- opengl3D路灯
- 反向运动学演示程序含核心代码
- QtOpenGL以及Graphics-View框架整合的演示
- 基于Qt和GLSL的着色器演示程序+源代码
评论
共有 条评论