Свързани въпроси 'glsl'

Трябва ли да напиша логика във фрагментен шейдър в този случай?
Имам 3 обекта: куб1 куб 2 куб 3 Искам да нарисувам: куб1 като червен(1,0,0) , куб2 с текстура1 cube3 с texture2 . Във фрагментния шейдър използвах FragColor = Color*texture2D(u_texture,...
91 изгледи
schedule 21.09.2022

Предаване на OpenCV изображение в сива скала към OpenGL текстура
Искам да използвам изображение в сива скала, генерирано в OpenCV, в GLSL шейдър. Въз основа на въпроса за зареждане на OpenCV изображение за OpenGL Texture , успях да измисля кода, който предава RGB изображение на шейдъра: cv::Mat image; //...
1608 изгледи
schedule 21.09.2022

Three.js - прилага шейдър за размазване на геометрия
Учих ThreeJS през изминалия ден или така, но се боря с шейдърите. Опитвам се да размажа геометрия, която имам. Опитах се да използвам Depth Of Field с примерите, намерени на сайта Three.js, но това направи и моите обекти на преден план леко...
6914 изгледи
schedule 27.09.2022

Как мога да изобразя безкрайна 2D мрежа в GLSL?
В идеалния случай това, което бих искал да направя, е да начертая единичен квадрат и да накарам GLSL да се справи със създаването на действителните линии на мрежата. В моя опит досега върховият шейдър: #version 400 layout (location = 0) in...
14941 изгледи
schedule 02.10.2022

Шейдър на дълбочината на полето за точки/щрихи при обработка
Наскоро използвах шейдъра за дълбочина на полето по-долу (първоначално от ofxPostProcessing библиотека за OpenFrameworks) за моите скици за обработка. depth.glsl uniform float maxDepth; void main() { float depth = gl_FragCoord.z /...
740 изгледи

прост процедурен скайбокс
Като част от опит да генерирам много просто изглеждащо небе, създадох небесна кутия (по същество куб, преминаващ от (-1, -1, -1) до (1, 1, 1), който е начертан след всички моята геометрия и принуден да се върне назад чрез следния прост вертекс...
2231 изгледи
schedule 07.10.2022

Честотна модулация с помощта на GLSL?
1. Контекст Използвам GLSL , за да начертая амплитудата на форма на вълната при дадена честота като тази: Показването на прости вълнови форми като тези по-горе е тривиална задача, това е просто въпрос на използване на правилните...
1053 изгледи
schedule 11.10.2022

OpenGL GLSL интерполация
Опитвам се да внедря точкови светлини в OpenGL с GLSL. Изпращам всички необходими данни на шейдърите. За простота използвам само дифузната светлина тук. Моят пример показва огромен триъгълник, който искам да осветя с един източник на светлина....
4698 изгледи
schedule 20.11.2022

Динамичен брой еднообразни блокове
Работейки с openGL 3.1, въпросът е прост. От сайта на GLSL ето как може да се дефинира масив от унифицирани буферни блокове: uniform BlockName { vec3 blockMember1, blockMember2; float blockMember3; } multiBlocks[3]; Сега, възможно ли е...
1486 изгледи
schedule 21.10.2022

целочислено постоянно препълване с GLSL (OpenGL ES2)
Трябва да предам текстурни данни към програма за шейдър, без да използвам текстури на OpenGL, защото не използвам текстура със степен на две, но получавам грешката с този фрагментен шейдър. varying highp vec2 texcoord; uniform ivec4...
1227 изгледи
schedule 05.12.2022

glLight във фрагментен шейдър (екранна позиция)
Бих искал да създам фрагментен шейдър, който изобразява бял кръг на позицията на glLightSource. Но по някакъв начин ми е трудно да разбера как да конвертирам позицията на glLight в екранни координати... Някой има ли идея?
517 изгледи
schedule 18.11.2022

Шейдър за 2D геометрични контури
Искам да създам шейдър за очертаване на 2D геометрия. Използвам OpenGL ES2.0. Не искам да използвам филтър за навиване, тъй като контурът не зависи от текстурата и е твърде бавен (опитах се да изобразя текстурираната геометрия на друга текстура и...
1645 изгледи
schedule 06.11.2022

Объркване на координатите модел-екран в шейдъра GLSL
В моя шейдър вече имам специална променлива, която има цялото съдържание на преди това изобразен екран. Съхранява се в uniform sampler2D _GrabTexture; Какво трябва да бъде съдържанието му: (Като странична бележка, използвам GrabPass{}...
1375 изгледи
schedule 30.10.2022

Какво означава целта GL_ARRAY_BUFFER в glBindBuffer?
Бях объркан относно VBO, glGenBuffers(1, &positionBufferObject); glBindBuffer(GL_ARRAY_BUFFER, positionBufferObject); Освен GL_ARRAY_BUFFER, има и други целеви типове: GL_ATOMIC_COUNTER_BUFFER, GL_COPY_READ_BUFFER... Ръководството на...
20948 изгледи
schedule 27.11.2022

генериране на върхове с помощта на геометричен шейдър (GLSL)
наскоро се опитвам да внедря алгоритъм за генериране на лоза в реално време. Донякъде знам как да го направя на процесора, но искам да използвам GPU, за да постигна това. Мислех за геометричен шейдър, но изглежда, че геометричният шейдър се...
1038 изгледи
schedule 10.12.2022

Картографиране на атрибути на Vertex Shader в GLSL
Кодирам малък двигател за рендиране с GLSL шейдъри: Всяка мрежа (добре, подмрежа) има редица потоци от върхове (напр. позиция, норма, текстура, допирателна и т.н.) в един голям VBO и MaterialID. Всеки материал има набор от текстури и свойства...
29111 изгледи
schedule 27.11.2023

OpenGL ES 2.0 SL записва от фрагментен шейдър към текстура
Надяваме се, че това е наистина прост въпрос. Как да изпишете върху текстура, прикрепена към буфера на кадрите, от фрагментен шейдър. Предполагам, че е просто gl_FragColor, трябва ли да дефинирам/използвам различна променлива, като gl_Data[0]?...
748 изгледи

граничен параметър в glTexImage2d
Имам 2 въпроса относно границите на opengl Texture: Знам как границите на текстурите присъстват в 2D текстури (ивица с ширина 1 тексел по X и Y измерение). Възможно е в 3D текстурите това да е лента от 1 тексел по X, Y и Z измерение? Но какво...
1296 изгледи
schedule 20.11.2022

Как да внедрим билборд?
В момента рисувам равнина (триъгълна лента) в 3D света. Сега искам да го нарисувам като билборд - така че лицето да е подравнено спрямо камерата. Това е кодът: #version 330 core layout(points) in; layout(triangle_strip, max_vertices=4) out;...
221 изгледи
schedule 11.11.2022

Грешка при компилиране на GLSL при повече от един указател на char (glShaderSource)
Какво не е наред с този код за версия 3.30 OpenGL и GLSL? const char *vertSrcs[2] = { "#define A_MACRO\n", vShaderSrc }; const char *fragSrcs[2] = { "#define A_MACRO\n", fShaderSrc }; glShaderSource(vId, 2, vertSrcs, NULL);...
989 изгледи
schedule 08.12.2023