opengl - 是否可以在使用 glBitmap 绘制的位图上使用 glScalef?
问题描述
我正在制作一个使用 FreeType 2 和旧版 OpenGL 的文本渲染器。问题是,FreeType 2 的坐标系在左上角有 (0, 0),而 OpenGL 的坐标系是笛卡尔坐标系。这意味着我必须翻转位图。我希望 glScalef 可以与 glBitmap 一起使用,但它没有效果。谁能告诉我是否可以使用 glScalef 垂直翻转位图,或者如果不可能,请指向其他可以翻转位图的源(最好尽可能高效)?
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glScalef(1.0, -1.0, 1.0)
glBitmap(size_x, size_y, 0, 0, xadd, yadd, (GLubyte *) bitmap);
解决方案
您正在寻找的功能是glPixelZoom
.
像素缩放因子不限于正值。负缩放因子反映了关于当前光栅位置的结果图像。
它肯定会对glDrawPixels
. 有一个注释glBitmap
说它的行为就像glDrawPixels
但我找不到任何关于是否glPixelZoom
适用于的明确声明glBitmap
,所以 YMMV。
推荐阅读
- javascript - ReactJs:由于不推荐使用componentWillMount,如何在组件安装之前执行代码?
- excel - 如何让我的代码在任何工作表上运行
- apache-kafka - Apache Camel Kafka:如何在生产者配置中设置属性“delivery.request.ms”
- graphql - GraphQL 无法查询字段“childImageSharp”,尽管该字段在 graphiql 上可用
- java - websocket - javax.net.ssl.SSLException:收到致命警报:handshake_failure
- python - AttributeError: 'tuple' 对象没有属性 'tag_name'
- boto3 - 从 Lambda 向跨账户 Kinesis 流发送记录
- sql - 使用十进制格式 (5,2) 计算 1/100 SQL
- kubernetes - 如何在 Kubernetes 中使用依赖项
- css - 如何仅在右侧添加框阴影