LINUX.ORG.RU

Можно ли сделать в opengl такое?

 


2

1

Привет. У меня есть софтовый рендерер. Могу ли я отгрузить на видюху часть работы таким образом с помощью OpenGL? Не знаю про OpenGL практически ничего, так что перед тем как его учить хочу понять, а есть ли смысл.

Суть в следующем:

1) На CPU для каждого пикселя на экране я считаю массив из точек в пространстве (три флоата).

2) Отгружаю массив на GPU. Там считаю цвет пикселя c = f(a,v), где a — некий параметр, v — точка из массива

3) Раскрашиваю экран значениями c.

Есть в OpenGL для этого средства?

Для каждого пикселя считают сразу на гпу в шейдере, они для этого сделаны. На процессоре считают только общую для целого кадра инфу.

anonymous
()
Ответ на: комментарий от anonymous

Примерно так, да, только я не знаю, могу ли я шейдеру скармливать произвольные данные (типа этого параметра a, будь он float или вектор флоатов). В OpenCL ядру можно передать какие хочешь аргументы, а как дела в OpenGL, я хз

deadplace
() автор топика
Ответ на: комментарий от deadplace

Ты что-то путаешь совсем разные технологии. Коли тебе нужно рисовать, то OpenGL — как раз то, что нужно! Пишешь шейдеры, они на основе входных данных рисуют тебе сцену. В зависимости от того, есть у тебя GPU или его нет, обрабатываться шейдеры будут либо на нем, либо на CPU.

Вот если рисовать не надо, то да — нужно использовать CUDA и вручную заниматься передачей данных в память видеокарты и обратно.

anonymous
()

можно. но во первых телепаты в отпуске а ты слишком нечетко думаешь, что ты хочешь. думай в письменном виде.

i36_zubov
()
Ответ на: комментарий от anonymous

Не-не, нужно рисовать, поэтому про OpenGL и спросил. Ну а OpenCL привел чисто для сравнения. В принципе, они отлично вместе сочетаются (только не в mesa, лол)

https://software.intel.com/en-us/articles/opencl-and-opengl-interoperability-...

Ладно, буду читать дальше, значит

deadplace
() автор топика
Ответ на: комментарий от deadplace

На vulkan лучше сразу смотри, он как раз их связку заменяет.

anonymous
()
24 февраля 2019 г.

да, можно, читай маны

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.