HLFX.Ru Forum
Показать все 8 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Класс для работы с GLSL шейдерами (https://hlfx.ru/forum/showthread.php?threadid=3025)


Отправлено fire64 29-09-2011 в 14:27:

Класс для работы с GLSL шейдерами

Класс для загрузки GLSL шейдеров для Half-Life (Xash3D)

Вот только над имплементацией, сами думайте.

Пример кода загрузки шейдера:

C++ Source Code:
1
bool IsGlslShaderInit = g_GlslShader.ShaderInit( "minimal.vert", "minimal.frag" );
2
 
3
if(IsGlslShaderInit)
4
{
5
  g_GlslShader.ShaderUse();
6
}


Для компиляции нужно подключить библиотеку glew32.lib
Ну и соответственно glew32.dll в корне игры.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено HAWK0044 29-09-2011 в 14:48:

зачем же так? со сторонними dll? я сразу в xash имплементировал,с возможностью вызова и банда с клиента, например для блюма , а в двиге,чтоб всякие параллаксы делать без сторонних рендеров


Отправлено fire64 29-09-2011 в 15:14:

Если кто захочет использовать.

Удалите ShaderDisable и измените ShaderUse на

C++ Source Code:
1
void GLSLShaders::ShaderUse( bool isuse )
2
{
3
  if(isuse)
4
  {
5
    glUseProgram(BaseShader);
6
  }
7
  else
8
  {
9
    glUseProgram( 0 );
10
  };
11
}

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено Дядя Миша 29-09-2011 в 15:16:

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

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 29-09-2011 в 18:57:

Цитата:
fire64 писал:
Для компиляции нужно подключить библиотеку glew32.lib
Ну и соответственно glew32.dll в корне игры.

__________________

xaerox on Vivino


Отправлено FiEctro 29-09-2011 в 19:13:

fire64
GLSL это хорошо, но вот тащить glew32.dll никуда не годится .

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


Отправлено CrazyRussian 29-09-2011 в 19:22:

wglGetProcAdress конечно же топикстартеру ни о чем не говорит.

C++ Source Code:
1
PFNGLUSEPROGRAMPROC glUseProgram = NULL;
2
...
3
void InitExtensions()
4
{
5
  glUseProgram = (PFNGLUSEPROGRAMPROC) wglGetProcAddress("glUseProgram");
6
}

Если лень все писать - есть генераторы таких вещей.

__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов


Отправлено Дядя Миша 29-09-2011 в 19:38:

Цитата:
CrazyRussian писал:
Если лень все писать - есть генераторы таких вещей.

или из ксаша утинуть имплементацию.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Временная зона GMT. Текущее время 23:54.
Показать все 8 сообщений этой темы на одной странице

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