LOVE2D ошибка отображения пикселей - PullRequest
0 голосов
/ 08 июня 2018

Поэтому, когда я пытаюсь отобразить это значение rgb на мои данные:

image=love.image.newImageData(WIDTH,HEIGHT,"rgba16f")

image:mapPixel(pixelFunction)

image2=love.graphics.newImage(image)


function pixelFunction(x, y, r, g, b, a)
    return 0,50,0,255
end

я получаю это enter image description here

Как вы можете видеть, это что-токак (0,255,0,255) не то значение rgb, которое я хотел, на самом деле он может только отобразить максимальное значение красного, зеленого или синего, что делает функцию бесподобной

1 Ответ

0 голосов
/ 09 июня 2018

Как можно догадаться из того факта, что генерируются только экстремальные цвета, значение 50 выходит за пределы динамического диапазона.Использование представления rgba в единицах (0, 50/255, 0, 1) приводит к темно-зеленому.

(0,50,0,255) раньше работал в любви 10. Согласно wiki он должен работать в любви 11 с "rgba16f", который вы, кажется, устанавливаете.Но это не так.Перейдите к их разделу отчетов об ошибках.

Также, пожалуйста, обратите внимание, что минимальный воспроизводимый пример для вопроса должен был быть сделан по следующим направлениям:

WIDTH=300; HEIGHT=300;
imageData=love.image.newImageData(WIDTH,HEIGHT,'rgba16f')

function pixelFunction(x, y, r, g, b, a)
    return 0,50/255,0,255
end

imageData:mapPixel(pixelFunction)

image=love.graphics.newImage(imageData)

function love.draw()
    love.graphics.draw(image,0,0)
end

И да,вы испортили порядок определения и использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...