opengl 字符编码

使用位图(glBitmap)在OpenGL中输出中文 实例效果(字体:Courier New";大小:14): 谁能告诉我该怎么插入图片呀!!! 第一步:将任意系统字体转换为指定大小的位图文件。 第二步:在游戏中加载位图文件,绘制之。 我使用了一种笨拙的方式进行字体到位图的转换,但是该方法思路很简单,具体方法见源码。 位图文件使用一个简单的文件头: struct bmfheader_ 阅读详情

#define _CRT_SECURE_NO_WARNINGS
#include<stdlib.h>
#include<math.h>
#include<Windows.h>
#include<stdio.h> //86
#include<GL/glut.h>
void Init() {                  
	glClearColor(0.7f, 0.8f, 1.0f, 0.0f);  //浅蓝
}
void Reshape(int w, int h) {
	glViewport(0, 0, w, h);
	glMatrixMode(GL_COLOR_BUFFER_BIT);
	glLoadIdentity();
	gluOrtho2D(0, (double)w, 0, (double)h);
}
unsigned char symple[] = {
		0x00,0x00,0x00,0x00,
		0x00,0x00,0x00,0x00,
		0x00,0x01,0x80,0x00,
		0x00,0x01,0x80,0x00,
		0x00,0x01,0x80,0x00,
		0x00,0x01,0x80,0x00,
		0x00,0x01,0x80,0x00,
		0x00,0x01,0x80,0x00,
		0x00,0x01,0x80,0x00,
		0x00,0x01,0x80,0x00,

		0x01,0xFF,0xFF,0x80,
		0x01,0xFF,0xFF,0x80,
		0x00,0x01,0x80,0x00,
		0x00,0x01,0x80,0x00,
		0x00,0x01,0x80,0x00,
		0x00,0x01,0x80,0x00,


		0x00,0xFF,0xFC,0x00,
		0x00,0xFF,0xFC,0x00,

		0x00,0xE1,0x80,0x00,
		//0x00,0x61,0x80,0x00,
		0x00,0x71,0x80,0x00,
		0x00,0x30,0x00,0x00,
		0x00,0x18,0x00,0x00,
		0x00,0x0C,0x00,0x00,

		0x01,0xFF,0xFF,0x80,
		0x01,0xFF,0xFF,0x80,
		0x00,0x0C,0x00,0x00,
		0x00,0x00,0x00,0x00,

		0x06,0x00,0x00,0x60,

		0x07,0xFF,0xFF,0xE0,
		0x07,0xFF,0xFF,0xE0,

		0x00,0x00,0x00,0x00,
		0x00,0x00,0x00,0x00,
};
void myDisplay(void) {
	glClear(GL_COLOR_BUFFER_BIT);
	
	
	glColor3f(0.0f, 0.0f, 0.0f);
	glPolygonStipple(symple);
	glEnable(GL_POLYGON_STIPPLE);

	glBegin(GL_QUADS);
	glVertex2f(100, 100);
	glVertex2f(500, 100);
	glVertex2f(500, 500);
	glVertex2f(100, 500);
	glEnd();
	glFlush();
	glDisable(GL_POLYGON_STIPPLE);
	
}
int main(int argc,char *argv[])
{
	glutInit(&argc,argv);
	glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
	glutInitWindowPosition(100, 100);
	glutInitWindowSize(800, 700);
	glutCreateWindow("the forth");
	Init();
	glutReshapeFunc(Reshape);
	glutDisplayFunc(myDisplay);
	glutMainLoop();
	return 0;
}

openGl高级(三) 1 Assimp 模型加载库作用? 答:在日常生活中有很多复杂的模型比如火车房屋,如果一一定义它们得顶点将很困难。Assimp能对每一种模型格式进行导入。 2 openGl如何应用Assimp模型加载库? 答:step 1:include Assimp头文件,通过loadModel()加载模型库,将得到一个scene; step 2:定义在上openGl Mesh,来接收scene里面的数据。step 3:根据mesh里面的数据来渲染。 阅读详情

相关推荐

银河麒麟V10桌面系统7个高频‘怪问题’保姆级修复指南(终端乱码/密钥环/休眠唤醒失灵)

本文针对银河麒麟V10桌面操作系统常见的7个高频问题(如终端乱码、密钥环弹窗、休眠唤醒失灵等)提供了详细的修复指南。通过专业的运维技巧和系统使用经验,帮助用户快速解决这些疑难杂症,提升国产操作系统的使用体验和工作效率。

weixin_42546392的博客 651

基于vulkan、opengl这些图形引擎去绘制文本

具体的实现细节可能会因图形引擎的版本和使用的编程语言而有所不同,你可以参考相关的图形引擎文档和示例代码来进一步了解和实践。在渲染循环中,调用 OpenGL 的绘制函数,如 `glDrawArrays` 或 `glDrawElements`,来绘制文本字符串。顶点坐标决定了字符在屏幕上的位置,纹理坐标用于从字体纹理中采样字符的图像。在渲染循环中,准备好文本的顶点数据和纹理,并将它们绑定到相应的 Vulkan 资源上。设置纹理的参数,如过滤模式、环绕模式等,以确保文本在不同缩放情况下的显示效果。

chinansa的博客 1275

C++和OpenGL实现3D游戏编程【连载7】——文字和汉字的显示(附源码)

上一节我们讨论了纹理在二维平面内不规则图形贴图的相关基础操作,本节我们开始了解游戏里文字以及汉字的显示方法。本节课我们将从基本的ASCII字符显示,拓展到中文字符的显示,最后再讲到纹理字符的显示,并对各种文字显示方法的优缺点和使用场景进行分析,这节课将使用到显示列表、兼容视图、屏幕图形转纹理等操作。

zhooyu的博客 1498

opengl菜单出现乱码_OpenGL显示字体

OpenGL并没有直接提供显示文字的功能,并且,OpenGL也没有自带专门的字库。因此,要显示文字,就必须依赖操作系统所提供的功能了。各种流行的图形操作系统,例如Windows系统和Linux系统,都提供了一些功能,以便能够在OpenGL程序中方便的显示文字。最常见的方法就是,我们给出一个字符,给出一个显示列表编号,然后操作系统由把绘制这个字符的OpenGL命令装到指定的显示列表中。当需要绘制字符...

weixin_33789616的博客 1129

保姆级教程:在Windows上用VS2019和OpenCV4.6搞定海康MV-EB435i RGBD相机图像采集

本文提供了一份详细的教程,指导如何在Windows环境下使用VS2019和OpenCV4.6配置海康MV-EB435i RGBD相机进行图像采集。从开发环境准备、SDK部署到代码移植和优化,涵盖了深度图与RGB图同步采集的实战技巧,帮助开发者快速上手工业级RGBD相机的应用开发。

weixin_28675557的博客 466

快速配置ORCAD导出智能PDF原理图

在OrCAD 中导出类似Altium Designer的智能PDF(即交互式PDF);

QingNing3028的博客 3942

(七)OpenGL显示字母与汉字

https://blog.youkuaiyun.com/qq_35040828/article/details/51758258 具体解释直接看这个链接吧 #include<windows.h> #include <GL/glut.h> #include <math.h> #include <stdlib.h> #include <stdio.h> ...

遥望星河的博客 3184

川崎机器人总线通信_三菱PLC和发那科机器人进行CCLINK总线通信

三菱CCLINK主站模块采用QJ61BT11N,该模块用在Q系列PLC上,如果是5U或3UPLC,可用FX5-CNV-BUS加FX3U-16CCL-M或FX5-CCL-M模块。本教程以Q系列为例CCLINK接线方法如下模块拨码含义如下接线和拨码设置好后,接着在编程软件上设置CCLINK通信参数打开编程软件,在工程导航栏打开参数——网络参数,选中CCLINK打开。打开如下画面起始IO为模块本体占用I...

weixin_42300398的博客 7546

opengl菜单出现乱码_Linux下使用glut创建窗口时中文标题显示为乱码?

如图所示代码如下#include void RenderScene(void){glClear(GL_COLOR_BUFFER_BIT);glFlush();}int main(int argc ,char *argv[]){glutInit(&argc,argv);glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);glutInitWindowSize...

weixin_36431535的博客 836

python123题目——个税计算器

类型:简单分支。

m0_62488776的博客 5802

01_MySQL下载、安装与配置(以MySQL8.0.31版本为例)

1.点击下载好的mysql安装包 进入到mysql installer界面。2.选择MySQL Servers选项 一直下拉。

4817

小程序任务

1、 《VC++深入详解》15、16章的聊天系统编程。 vs2010和openGL的配置问题 编辑了def文件后不能简单的删除,打开工程属性对话框,删除里面的模块定义文件 wchar_t可以输出汉字的字符编码。

408

鸿蒙系统开发工程师:核心技术解析与深度面试指南

摘要: 鸿蒙系统开发工程师需具备底层驱动开发、系统移植优化及分布式架构能力。核心职责包括硬件适配(Bootloader、内核移植、HDF驱动开发)、性能调优(启动加速、功耗管理)及稳定性保障。技术要求涵盖C/C++编程、Linux内核机制、鸿蒙架构(HDF、分布式服务)及ArkTS/ArkUI基础。面试重点考察系统移植流程(如ARM板适配)、驱动开发(I2C/Display)、性能优化手段及内存/同步机制的应用。

郑伟强dev的专栏 429

OpenGL显示字体

OpenGL并没有直接提供显示文字的功能,并且,OpenGL也没有自带专门的字库。因此,要显示文字,就必须依赖操作系统所提供的功能了。 各种流行的图形操作系统,例如Windows系统和Linux系统,都提供了一些功能,以便能够在OpenGL程序中方便的显示文字。 最常见的方法就是,我们给出一个字符,给出一个显示列表编号,然后操作系统由把绘制这个字符的OpenGL命令装到指定的显示列表中。当需要

—— 然 之 2万+

Python 复现AlexNet框架代码

【代码】Python 复现AlexNet框架代码。

Quintin 2418

2026华为OD面试题084:贪心的商人

商人经营一家店铺,有 `number` 种商品。由于仓库限制,每件商品的最大持有数量是 `item[index]`。 每种商品每天有一个价格 `item_price[item_index][day]`。通过对商品买进和卖出获取利润,请给出商人在 `days` 天内能获取到的最大利润。 注:同一件商品可以反复买进和卖出。 输入描述: - 第一行输入商品数量 `number` - 第二行输入商人售货天数 `days` - 第三行输入 `number` 个整数,表示每件商品的最大持有数量 `item[in

琅嬛福地 273

nehe的opengl教程 opengl窗口章 移植到vs2013 win7环境下

1. 配置opengl环境,下载glut(opengl utility toolkit) https://www.opengl.org/resources/libraries/glut/      到本地。解压后有两个lib文件,两个dll文件和一个.h文件。 2. glut.lib和glut32.lib拷贝到X:\Program Files (x86)\Microsoft Visual Stu

mizoushenjing的专栏 1245

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

OpenGL显示文字--显示汉字

OpenGL显示文字--显示汉字    原则上,显示中文和显示英文并无不同,同样是把要显示的字符做成显示列表,然后进行调用。 但是有一个问题,英文字母很少,最多只有几百个,为每个字母创建一个显示列表,没有问题。但是汉字有非常多个,如果每个汉字都产生一个显示列表,这是不切实际的。 我们不能在初始化时就为每个字符建立一个显示列表,那就只有在每次绘制字符时创建它了。当我们需要绘制一个字符

u014047672的博客 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

JNI中jstring 和char* 之间的转换方法

最近在学习NDK下的opengl es2.0开发,看过很多demos都是直接用一串字符串把shader代码写死的。并没有用一个单独的shader脚本语言文件。glShaderSource()这个方法需要的shader脚本也是通过一个char** 传入的。   而且在NDK下面也没看到有什么方式可以直接调用android工程里面的res资源文件。(目前是没发现才刚开始学)   所以我就想把s

Gitar520的专栏 2717

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

欢迎使用优快云-markdown编辑器

OP显示中文void drawCNString(const char* str) { int len, i; wchar_t* wstring; HDC hDC = wglGetCurrentDC(); GLuint list = glGenLists(1); // 计算字符的个数 // 如果是双字节字符的(比如中文字符),两个字节才算一个字符

BrikOff的专栏 474

OpenGL显示文字

阅读这篇文章前,可以先看一下这个文字显示系列的其他文章,了解一些字符编码,字体相关的知识:https://blog.youkuaiyun.com/wlk1229/article/category/9008450 显示文字 OpenGL提供的是图形API,本身并不提供文字处理方面的接口,如果想要显示文字就需要先将文字转化成图片,然后渲染图片。 Char Map Char Map是最简单的方式,首先...

Wlk1229 1万+

qt4.8转qt5.4

1、头文件包含 #include <QtGui/QProgressBar> #include <QtGui/QProgressDialog> #include <QtGui/QMessageBox> 等类似包含QtGui的包含文件,全部将QtGui取消掉。即 #include <QProgressBar> #inc...

weixin_30901729的博客 127

OpenGL学习笔记一之实战篇二 文本渲染

转载自https://learnopengl-cn.github.io/06%20In%20Practice/02%20Text%20Rendering/ 当你在图形计算领域冒险到了一定阶段以后你可能会想使用OpenGL来绘制文本。然而,可能与你想象的并不一样,使用像OpenGL这样的底层库来把文本渲染到屏幕上并不是一件简单的事情。如果你只需要绘制128种不同的字符(Character),那么...

飞飞飞的博客 859

QT5.9.9移植到Hi3536并支持openGL与TsLib

QT5.9.9移植到Hi3536并支持openGL与TsLib

wf908164152的博客 575

LOONGSON派二代 QT编译

1.下载并解压源码 2.配置交叉工具 2.1新建/home/ubuntu/Downloads/qt-everywhere-opensource-src-5.5.1/qtbase/mkspecs/linux-mips64el-g++文件夹 拷贝qmake.conf qplatformdefs.h到此文件夹并修改qmake.conf (此处拷贝的是linux-arm-gnueabi-g++目录下的) # # qmake configuration for building with arm-linu.

u014689277的博客 1240
上一篇: opengl画八卦图
下一篇: OpenGL三视图
fqq3
博客等级 码龄4年 114粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值