HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > OpenGL > Избавиться от cg.dll
Использовать шейдеры без неё
Страницы (2): « 1 [2]   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Нет, похоже зелен ещё я для таких дел. С использованием ЦГ у нас имеется 2 строчки:

C++ Source Code:
cgGLBindProgram(g_cgVP_GlowBlur);
cgGLBindProgram(g_cgFP_GlowBlur);

А после отключения ЦГ их количество удвоилось:
C++ Source Code:
1
glBindProgramARB(GL_VERTEX_PROGRAM_ARB, vp_glow_blur);
2
glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, fp_glow_blur);
3
 
4
glProgramStringARB( GL_VERTEX_PROGRAM_ARB, GL_PROGRAM_FORMAT_ARB, sizeof(vp_glow_blur_source)-1, vp_glow_blur_source);
5
glProgramStringARB( GL_FRAGMENT_PROGRAM_ARB, GL_PROGRAM_FORMAT_ASCII_ARB, sizeof(fp_glow_blur_source)-1, fp_glow_blur_source);

Наверное, я что-то не так делаю. У меня не так уж много опыта в OpenGL.

Сообщить модератору | | IP: Записан
Сообщение: 38744

Старое сообщение 24-10-2008 17:35
- За что?
ZONER
Частый гость

Дата регистрации: Oct 2008
Проживает: town->GetTown()
Сообщений: 56
Возраст: 31

Рейтинг



Да и у меня особо опыта мало... Пока еще здесь нет Ксаерокса, будем сами решать эту задачу.

А какие у тебя ошибки вылезли? Может я смогу помочь тебе

__________________
Сложно обьяснить, проще сделать (C) (_-=Zheka=-_)

Сообщить модератору | | IP: Записан
Сообщение: 38745

Старое сообщение 24-10-2008 17:40
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



ZONER ошибок нет, за исключением тех, что вызваны "несуществующими" функциями, которые я выше упомянул. Я закомментировал их, всё скомпилилось без ошибок. Результат - огромные тормоза и отсутствие нужного граф. эффекта. Тут нужна помощь знающего человека.

Сообщить модератору | | IP: Записан
Сообщение: 38748

Старое сообщение 24-10-2008 18:58
- За что?
ZONER
Частый гость

Дата регистрации: Oct 2008
Проживает: town->GetTown()
Сообщений: 56
Возраст: 31

Рейтинг



Не отоборажется потому что шейдер тока загружен. А никаких действий над ним ты не выполняешь. После загрузки надо бы отправить шейдеру значения параметров, если они есть. А потом отправить этот шейдер в буфер кадра, где он выводится на экран.

__________________
Сложно обьяснить, проще сделать (C) (_-=Zheka=-_)

Сообщить модератору | | IP: Записан
Сообщение: 38755

Старое сообщение 25-10-2008 12:51
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Ku2zoff писал:
А после отключения ЦГ их количество удвоилось:

Ну и нормально, для этапа загрузки. На этапе рисования так же две строчки будет. В чем вопрос?
Цитата:
ZONER писал:
А потом отправить этот шейдер в буфер кадра, где он выводится на экран.

Шейдер не выводится на экран, и в буфер кадра не отправляется. Шейдер - это программа.
Параметры надо биндить по индексам, а индексы - расставить вручную, например так:
uniform float3 LightPos: C0
Тогда это будет параметр с индексом 0, и его можно привязать через glBindUniformParameter.
А вообще смотри сорцы Ксаша, там все есть.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 38768

Старое сообщение 27-10-2008 10:12
-
ZONER
Частый гость

Дата регистрации: Oct 2008
Проживает: town->GetTown()
Сообщений: 56
Возраст: 31

Рейтинг



XaeroX ну извини уж, что если не правильно что-то написал... Я и имел ввиду, что все параметры биндятся по индексам, а индексы вручную.

З.Ы.
А вот разве не в буффер кадра все отпраляется потом? Просто, когда я юзал Директ, там после бинда и получения параметров шейдера, а так же установки значений парамеров - результат отправляется в буффер кадра, а там на рендеринг.

З.З.Ы.
Надо еще ксаш посмотреть, может быть пойму схему рендернга OpenGL после него.

__________________
Сложно обьяснить, проще сделать (C) (_-=Zheka=-_)

Сообщить модератору | | IP: Записан
Сообщение: 38806

Старое сообщение 28-10-2008 19:50
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
ZONER писал:
результат отправляется в буффер кадра, а там на рендеринг.

Буфер кадра - это конечный этап работы конвейера. Не ограничивая общности, можно сказать, что это то, что ты видишь на экране. Шейдеры вообще никуда не отправляются и сидят в видеопамяти, а при бинде загружаются на шейдерный процессор (в Unified shader model) или на вершинный/фрагментный процессор (в старых видеокартах с разделением процессоров). А вот результат работы шейдера, разумеется, в конечном итоге попадает (или не попадает - помним про команду KIL) в буфер кадра.

Добавлено 29-10-2008 в 03:00:

Кстати, я, возможно, соврал в именах функций - не факт, что есть такая, glBindUniformParameter. Кажется, она все же называется glProgramParameter. Последнее время работаю только с Cg и уже позабыл порядком низкоуровневый апи

__________________

Сообщить модератору | | IP: Записан
Сообщение: 38808

Старое сообщение 28-10-2008 21:00
-
ZONER
Частый гость

Дата регистрации: Oct 2008
Проживает: town->GetTown()
Сообщений: 56
Возраст: 31

Рейтинг



XaeroX отдельно спасибо, что немного напомнил мне, а то я чуть подзабыл после лета про прогаммирование графики. Сейчас вспоминать начал.
Меня в общем другой вопрос мучал, хотя его в отдельную тему выносить надо...

Тут полазил по книге по OpenGL. Нашел тока вот эти функции glUniformARB - задает значение переменной и glGetUniformARB - возвращает значение переменной(по индексу заданным пользователем), glGetActiveUniformARB - возвращает активное значение перменной( по индексу)...
glProgramParameter ща поищем

__________________
Сложно обьяснить, проще сделать (C) (_-=Zheka=-_)

Сообщить модератору | | IP: Записан
Сообщение: 38811

Старое сообщение 29-10-2008 19:30
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


ZONER это вроде как функции расширений GLSL, а я про функции ARB_vertex_program/ARB_fragment_program.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 38813

Старое сообщение 29-10-2008 21:16
-
(_-=ZhekA=-_)
Житель форума

Дата регистрации: Jan 2006
Проживает: Москва
Сообщений: 3890
Возраст: 36

Рейтинг



Ku2zoff
Выложи если не трудно

glow_darken_fp.cg
glow_blur_fp.cg
glow_combine_fp.cg

glow_darken_vp.cg
glow_blur_vp.cg
glow_combine_vp.cg

__________________
Kiss my ass if you don't like my Ford!
------------------------------------------
Game Area51 Update 1
First Person Shooter Released Jul 24, 2017
The game is a 3d shooter with the elements of the quest.

http://button.moddb.com/download/medium/125531.png

Сообщить модератору | | IP: Записан
Сообщение: 38920

Старое сообщение 02-11-2008 18:12
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Вотъ
Изменённые, от самого гуру FiEctro

Вложение: cg_by_cj.rar (2.1 кб)
Этот файл был скачан 419 раз.
XaeroX проверил это вложение на вирусы 03-11-2008 в 12:19

Сообщить модератору | | IP: Записан
Сообщение: 38933

Старое сообщение 03-11-2008 11:09
- За что?
(_-=ZhekA=-_)
Житель форума

Дата регистрации: Jan 2006
Проживает: Москва
Сообщений: 3890
Возраст: 36

Рейтинг



Ku2zoff
Cпасибо )

А какая консольная команда ? И в какой папке должны находить эти файлы и сама папка ?

__________________
Kiss my ass if you don't like my Ford!
------------------------------------------
Game Area51 Update 1
First Person Shooter Released Jul 24, 2017
The game is a 3d shooter with the elements of the quest.

http://button.moddb.com/download/medium/125531.png

Сообщить модератору | | IP: Записан
Сообщение: 38970

Старое сообщение 03-11-2008 22:59
- За что?
FiEctro
Кот Арсис

Дата регистрации: Aug 2006
Проживает: код
Сообщений: 12901
Возраст: 32

Рейтинг



Ku2zoff
Хотя бы спросил, прежде чем выкладывать на публику .

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!

Сообщить модератору | | IP: Записан
Сообщение: 38977

Старое сообщение 04-11-2008 08:49
- За что?
(_-=ZhekA=-_)
Житель форума

Дата регистрации: Jan 2006
Проживает: Москва
Сообщений: 3890
Возраст: 36

Рейтинг



Цитата:
FiEctro писал:
Хотя бы спросил, прежде чем выкладывать на публику .

Ты бы лучше сказалбы про это
Цитата:
(_-=ZhekA=-_) писал:
А какая консольная команда ? И в какой папке должны находить эти файлы и сама папка ?

А не катил болоны )

__________________
Kiss my ass if you don't like my Ford!
------------------------------------------
Game Area51 Update 1
First Person Shooter Released Jul 24, 2017
The game is a 3d shooter with the elements of the quest.

http://button.moddb.com/download/medium/125531.png

Сообщить модератору | | IP: Записан
Сообщение: 39066

Старое сообщение 06-11-2008 10:56
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 07:54. Новая тема    Ответить
Страницы (2): « 1 [2]   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > OpenGL > Избавиться от cg.dll
Использовать шейдеры без неё
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024