Следующее просто отображает части экрана.float data[10000];
//...fill data
//in the render loop
data[0]=T;//T is an oscilating variable, this is just for testing that the data was sent
GLuint texture;
glGenTextures(1, &texture);
glActiveTexture(GL_TEXTURE0 ;
glBindTexture (GL_TEXTURE_1D, texture);
glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexImage1D(GL_TEXTURE_1D, 0, GL_R32F, 10000, 0, GL_R32F, GL_UNSIGNED_BYTE, &data[0]);
GLint textureLoc = glGetUniformLocation(shaderProgram, "data" );
glUniform1i(textureLoc, 0);
glUseProgram(shaderProgram);
glBindVertexArray(VAO);
glDrawArrays(GL_TRIANGLES, 0, 3);
< /code>
В фрагментной шейдере: < /p>
#version 430 core
out vec4 FragColor;
uniform sampler1D data;
//several conditionals later
FragColor = texelFetch(data,0,0);//this is just a test
Подробнее здесь: https://stackoverflow.com/questions/796 ... -a-1d-text
Как передать много произвольных данных плавания в фрагментный шейдер с 1D -текстурой в каждом кадре? ⇐ Linux
1747419472
Anonymous
Следующее просто отображает части экрана.float data[10000];
//...fill data
//in the render loop
data[0]=T;//T is an oscilating variable, this is just for testing that the data was sent
GLuint texture;
glGenTextures(1, &texture);
glActiveTexture(GL_TEXTURE0 ;
glBindTexture (GL_TEXTURE_1D, texture);
glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexImage1D(GL_TEXTURE_1D, 0, GL_R32F, 10000, 0, GL_R32F, GL_UNSIGNED_BYTE, &data[0]);
GLint textureLoc = glGetUniformLocation(shaderProgram, "data" );
glUniform1i(textureLoc, 0);
glUseProgram(shaderProgram);
glBindVertexArray(VAO);
glDrawArrays(GL_TRIANGLES, 0, 3);
< /code>
В фрагментной шейдере: < /p>
#version 430 core
out vec4 FragColor;
uniform sampler1D data;
//several conditionals later
FragColor = texelFetch(data,0,0);//this is just a test
Подробнее здесь: [url]https://stackoverflow.com/questions/79625654/how-do-i-pass-a-lot-of-arbitary-float-data-to-the-fragment-shader-with-a-1d-text[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия