Свързани въпроси '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 изгледи
schedule
04.10.2022
прост процедурен скайбокс
Като част от опит да генерирам много просто изглеждащо небе, създадох небесна кутия (по същество куб, преминаващ от (-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 изгледи
schedule
27.10.2023
граничен параметър в 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