ФлеймФорумПрограммирование

Ошибка приложения при использовании шейдера

#0
12:28, 8 фев 2012

У меня в игре планеты затеняются с помощью шейдера в зависимости от нормали и источника света(солнца), планеты двигаются по орбитам, если сделать так чтобы планета обращалась вокруг солнца за 130-150 дней то всё нормально, но если сделать к примеру 365 дней то когда планета доходит до определённой точки вылазиет ошибка приложения, причём ошибка возникает во время установки техники шейдера. Какая связь между техникой шейдера и периодом обращения планеты вокруг солнца?

#1
12:30, 8 фев 2012

Какая ошибка? Может где на 0 делится.

#2
12:32, 8 фев 2012

Dimich
> Какая ошибка? Может где на 0 делится.
Незнаю, но debug режим показал на строку Shader->SetTechnique(Tech);

#3
12:38, 8 фев 2012

kroonk
> Незнаю
Как так?

> Shader->SetTechnique(Tech);
DX? Может он uniform'ы при этом передаёт. хз.

#4
12:40, 8 фев 2012

Dimich
> DX? Может он uniform'ы при этом передаёт. хз.
да DX, а что такое uniform'ы?

#5
12:43, 8 фев 2012

перенёс строку Shader->SetTechnique(Tech); теперь он стал указывать на другую строку, похоже он просто случайно выбирает строку.

#6
12:46, 8 фев 2012

при ошибке в debug открыл объект Shader там написано:
ID3DXBaseEffect  CXX0030: Error: expression cannot be evaluated

#7
12:46, 8 фев 2012

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

#8
12:51, 8 фев 2012

Dimich
> Нет, это значит, что ошибка в другом месте, но проявляется она тут.
а как можно найти где именно ошибка?

#9
12:54, 8 фев 2012

Скомпилировал в release и там ошибки нет! У меня уже была похожая проблема.

#10
13:08, 8 фев 2012

всё решил.

#11
13:11, 8 фев 2012

Молодец, теперь удали тему.

ФлеймФорумПрограммирование

Тема в архиве.

Тема закрыта.