HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > OpenGL > Создание GLSL шейдеров
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
fire64
Житель форума

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

Рейтинг



Создание GLSL шейдеров

Сейчас изучаю GLSL шейдеры.

Написал вот этот код

C++ Source Code:
1
GLuint VertShader;
2
GLuint FragShader;
3
GLuint Frag2Shader;
4
GLuint BaseShader;
5
 
6
 
7
bool GLSLShaders::ShaderInit( )
8
{
9
  char *vs = NULL;
10
  char *fs = NULL;
11
  char *fs2 = NULL;
12
 
13
  VertShader = glCreateShader(GL_VERTEX_SHADER);
14
  FragShader = glCreateShader(GL_FRAGMENT_SHADER);
15
  Frag2Shader = glCreateShader(GL_FRAGMENT_SHADER);
16
 
17
 
18
  vs = ShaderLoad("toon.vert");
19
 
20
  if(!vs)
21
  {
22
    return false;
23
  }
24
 
25
  fs = ShaderLoad("toon.frag");
26
 
27
  if(!fs)
28
  {
29
    return false;
30
  }
31
 
32
  fs2 = ShaderLoad("toon2.frag");
33
 
34
  if(!fs2)
35
  {
36
    return false;
37
  }
38
 
39
  ...
40
 
41
  return true;
42
}


Но он почему-то вылетает при вызове glCreateShader

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

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

Старое сообщение 29-09-2011 11:38
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


glCreateShader равен NULL?

__________________

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

Старое сообщение 29-09-2011 11:52
-
fire64
Житель форума

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

Рейтинг



Понятия не имею. учитывая, что как раз при вызове первого же glCreateShader программа вылетает, с сообщением об ошибке.

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

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

Старое сообщение 29-09-2011 12:09
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


А как насчет посмотреть в отладчике?

__________________

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

Старое сообщение 29-09-2011 12:15
-
fire64
Житель форума

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

Рейтинг



Видимые:

code:
VertShader 0 unsigned int - fs2 0x00000000 <Неправильный указатель> char * CXX0030: ошибка: невозможно вычислить выражение - this 0x023ead48 class GLSLShaders g_GlslShadera {VertShader=0 FragShader=0 Frag2Shader=0 ...} GLSLShaders * const VertShader 0 unsigned int FragShader 0 unsigned int Frag2Shader 0 unsigned int BaseShader 0 unsigned int


Стек вызовов:
code:
00000000() GLSLShaders::ShaderInit() Строка 50 + 0xc байт C++


Добавлено 29-09-2011 в 16:43:

О_о

Добавил glewInit(), теперь не вылетает

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

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

Старое сообщение 29-09-2011 12:43
- За что?
 XaeroX
Crystice Softworks

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

Рейтинг



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


Ну и отлично.

__________________

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

Старое сообщение 29-09-2011 13:56
-
Тема закрыта XaeroX 29-09-2011 в 13:56
Временная зона GMT. Текущее время 20:46. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > OpenGL > Создание GLSL шейдеров
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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