| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программирование игр, графики и искусственного интеллекта > OpenGl проблема с шейдерами |
| Автор: Ketrikken 8.12.2009, 13:39 | ||||
| Помогите, пожалуйста! Я пытаюсь сделать шейдер для изменения якрости. Код на glsl выглядит так
пока даже ничего существенного не происходит. это код на Delphi
причем, если я убираю строчку vec3 texColor = texture2D(texFrame, gl_TexCoord[0].st).rgb; все работает. я ее изменяла так: vec4 texColor = texture2D(texFrame, gl_TexCoord[0].st); и так float texColor = texture2D(texFrame, gl_TexCoord[0].st).r; все равно не работает. Подскажите, что не так? Заранее спасибо! |
| Автор: Bitter 8.12.2009, 16:19 | ||
я не особо понимаю в шейдерах GL, но разве функция main не должна иметь тип (наверно vec4) и return ? Вот в шейдерах DirectX функция либо имеет тип float4 либо параметр out float4 oCol:COLOR. Ну вот обычный пример шейдера на DirectX, может по подобию напишешь на GL
На выходе шейдера должен быть цвет пикселя. А у тебя вроде нету ничего Добавлено через 2 минуты и 11 секунд Да, и еще на вход у тебя ничего не поступает. Это так и должно быть? |
| Автор: Rpahut 24.12.2009, 16:46 |
| Если только в делфи текстуры не типа float, то следует использовать glUniform1iARB(texture, @TexName); |