- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
if (getMaterialDom().ztest_)
{
device.SetRenderState(D3DRS_ZENABLE, TRUE);
device.SetRenderState(D3DRS_ZFUNC, D3DCMP_LESSEQUAL);
}
else
device.SetRenderState(D3DRS_ZENABLE, FALSE);
if (getMaterialDom().zwrite_)
device.SetRenderState(D3DRS_ZWRITEENABLE, TRUE);
else
device.SetRenderState(D3DRS_ZWRITEENABLE, FALSE);
guest 04.08.2011 19:44 # −1
absolut 04.08.2011 20:53 # +2
И, кстати, почему TRUE/FALSE, а не ZTRUE/ZFALSE true/false ?
guest 04.08.2011 21:01 # −1
SmackMyBitchUp 04.08.2011 22:22 # 0
bugmenot 04.08.2011 22:24 # +3
SmackMyBitchUp 04.08.2011 23:02 # 0
bugmenot 04.08.2011 23:25 # +1
guest 05.08.2011 07:44 # 0
Его дельфи неумеет elimination expression, поэтому, как он говорит: "Всегда нужно кешировать в переменные".
guest 05.08.2011 21:12 # 0
guest 05.08.2011 21:13 # −1
гусь свинье не товарищ
guest 08.08.2011 15:14 # −2
Разве можно const ставить перед auto в С++0х?
Kirinyale 09.08.2011 10:57 # 0
absolut 10.08.2011 10:22 # −1
guest 10.08.2011 10:26 # −1
absolut 12.08.2011 15:25 # −1
guest 12.08.2011 17:46 # +1
guest 04.08.2011 21:05 # −1
Микрософт эту глупость со времен винапи пропагандируют до сих пор во всех своих геймдейвских примерах для DX.
interested 05.08.2011 14:50 # 0
Что такое TRUE и FALSE по выдранному постером куску кода нам не ясно. Это могут быть константы неизвестного типа, это могут быть ключевые слова перечисления и даже макросы. Кажется, что последнее наиболее вероятно и за TRUE/FALSE кроются страшные, "изпальцавысосанные" целочисленные коды.
absolut 05.08.2011 15:32 # +3
guest 05.08.2011 21:11 # −1
но SetRenderState принимает BOOL, что определён как int, да :)
Из этого вывод: :(
А сделали они это для поддержки WIN API в pure Си.
Я слышал, что DX можно программировать под pure Си без С++ враперов. Кто-нибудь пробовал?
RaZeR 05.08.2011 14:54 # 0
device.SetRenderState(D3DRS_ZENABLE, getMaterialDom().ztest_);
if (getMaterialDom().ztest_) device.SetRenderState(D3DRS_ZFUNC, D3DCMP_LESSEQUAL);
guest 05.08.2011 21:05 # −2
gegMOPO4 06.08.2011 21:58 # 0
Kirinyale 08.08.2011 11:45 # +1
Вместо 07 нужно было:
device.SetRenderState(D3DRS_ZFUNC, D3DCMP_ALWAYS);
Копаться, чтобы найти, почему не работал один материал, пришлось долго. Вторая ошибка дебага: думать, что чужой код работает правильно. (с)
guest 05.08.2011 21:24 # −1
eth0 05.08.2011 21:32 # +1
Можно грабить корованы.
guest 05.08.2011 21:35 # −1
Kirinyale 08.08.2011 11:47 # +1
guest 10.08.2011 10:28 # −1
Kirinyale 08.08.2011 11:47 # 0