资源简介
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个文件信息
- 上一篇:STM32 Stop模式低功耗及唤醒RTC+中断
- 下一篇:pdf(9)
相关资源
- opengl实现太阳系的各大行星运转动画
- Qt OpenGL 天空盒
- OPENGL绘制3D模型
- OpenGL纹理贴图的+PPT原理介绍
- OpenGL库文件安装包
- 基于opengl的三维场景
- 完整太阳系opengl
- 99273910opengl-3d-car.zip
- OpenGL_哆啦A梦环游世界
- 用OPenGl模拟太阳、地球、月球包含纹
- OpenGL小球自由落体弹起
- 基于串口的OpenGL三维坐标绘制
- openGL做的小球三维碰撞检测程序
- OpenGL飞机飞行模拟
- OPENGL写的四面体纹理贴图
- OpenGL 场景漫游
- opengl_shader_鱼眼校正的(demo)
- opengl与QT实现天空盒
- OpenGL程序构造天空和地面
- opengl的OpenGL教程中文版
- VC点云数据显示,OPENGL图像渲染.rar
- openGL实现地球自动围绕太阳转
- 史上最全OpenGL文件安装包
- 第一个3d建模的demo
- OpenGL开发库完整版
- 用openGL实现的3D国际象棋游戏源码
- Opengl写的摩天轮源码
- OpenGL3.3官方文档
- 碰撞检测毕业论文
- OpenGL库文件完整版
评论
共有 条评论