gpt4 book ai didi

c++ - 在 OpenGL 4 中绘制一个简单的矩形

转载 作者:行者123 更新时间:2023-12-05 03:17:46 24 4
gpt4 key购买 nike

根据 this wikibook 它曾经可以像这样轻松地绘制一个简单的矩形(在创建和初始化窗口之后):

glColor3f(0.0f, 0.0f, 0.0f);
glRectf(-0.75f,0.75f, 0.75f, -0.75f);

这在 OpenGL 3.2 及更高版本中已被删除。

在 OpenGL 4 中是否有其他一些简单、快速和肮脏的方法来绘制具有固定颜色的矩形(不使用着色器或任何花哨的东西)?

最佳答案

Is there some ... way ... to draw a rectangle ... without using shaders ...?

是的。事实上,据我所知,所有现有的 OpenGL 版本都支持它:您可以通过启用剪刀测试并清除帧缓冲区来绘制实心矩形:

glEnable(GL_SCISSOR_TEST);
glScissor(x, y, width, height);
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glClear(GL_COLOR_BUFFER_BIT);

这在多个方面与 glRect 不同:

  • 坐标以相对于窗口原点的像素为单位指定。
  • 矩形必须轴对齐且不能以任何方式变形。
  • 跳过了大多数针对每个样本的处理。这包括混合、深度和模板测试。

但是,我宁愿劝阻你不要这样做。您可能会更好地构建一个 VAO,其中包含您要在屏幕上绘制的所有矩形,然后使用一个非常简单的着色器绘制它们。

关于c++ - 在 OpenGL 4 中绘制一个简单的矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73922876/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com