opengl - 有没有一种简单的方法可以在love2d中绘制渐变?

标签 opengl gradient love2d

我对love2d比较陌生,想知道是否有一种简单的方法可以在不使用图像的情况下绘制线性渐变。我正在尝试绘制一个黄昏时的场景,并希望从背景顶部到底部有一个微妙的渐变,但创建一个足够大的图像来填充背景似乎太大了。

有什么想法吗?

最佳答案

尝试使用宽度为 1 像素、高度为所需的图像,然后水平重复,如下所示:

-- load
bgImage = love.graphics.newImage('gradient.png')
bgImage:setWrap('repeat', 'clamp')
bgQuad = love.graphics.newQuad(
    0, 0,
    WIDTH, bgImage:getHeight(),
    bgImage:getWidth(), bgImage:getHeight()
)

-- draw
love.graphics.drawq(bgImage, bgQuad, X, Y)

将 X、Y 和 WIDTH 替换为您需要的值。使用quad这里允许 Löve 处理水平重复以实现真正快速的绘图。

(希望这有效,我还没有测试过。)

关于opengl - 有没有一种简单的方法可以在love2d中绘制渐变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10665624/

相关文章:

loops - Love2d:如何保留窗口内容?

string - 大写函数但用于 LUA 中的非字母字符?

Lua - Perlin 噪声生成 - 获取条形而不是正方形

c++ - 在 C++ OpenGL 程序中找出显卡驱动程序的名称

opengl - Freeglut、OpenGL 和内存

android - LinearGradient中心动画

c - 用于线性回归的神经网络

html - 如何在页面全局 CSS 文件中定义 SVG 渐变

python - python 中的 SVG 与 cairo、opengl 和 rsvg 的交互

c# - OpenGL 绘制每 n 个顶点