/ / Какъв е големият размер на кода на върха или фрагментара в OpenGL 2+ - opengl, shader

Какъв е размерът на ограничението на кода на върха или фрагментара в OpenGL 2+ - opengl, shader

Имам намерение да напиша програма, която ще отнеме известно времепараметрите като вход и ще генерират собствен фрагмент на фрагмента, който след това ще бъде компилиран, свързан и използван като фрагментен shader (това ще стане само веднъж в началото на програмата). Аз не съм експерт по компютърна графика, така че не знам дали това е стандартна практика, но определено мисля, че има потенциал за някои интересни приложения - не непременно графични приложения, а може би и компютърни такива.

Въпросът ми е коя е ограничението за размера на кода на Шайдер в OpenGL, т.е. колко памет може основателно да се раздели на OpenGL за програма на графичния процесор?

Отговори:

3 за отговор № 1

Няма ограничение за размера на кода. Добре, има, но:

  1. OpenGL не ви дава начин да го попитате, защото:
  2. Такъв номер би бил безсмислен, тъй като не се превежда на нищо, което можете директно да контролирате в GLSL.

Дълъг GLSL shader може да се компилира, докато е кратъкshader може да "т. Защо? Тъй като компилаторът може да е успял да оптимизира дългия shader до размер, докато кратък shader се разшири до много opcodes. Накратко, GLSL е твърде високо ниво, за да може ефективно количествено такива ограничения ,

Във всеки случай, като се имат предвид ограниченията на хардуера на клавиатурата GL 2.x, вероятно няма да удържите никакви ограничения, освен ако не се опитвате да го направите или правите GPGPU работа.