|
27.07.2011, 15:18
|
#46
|
Нуждающийся
Регистрация: 23.02.2011
Сообщений: 54
Написано 3 полезных сообщений (для 5 пользователей)
|
Ответ: DirectX и C++
Переопределил DWORD_PTR все скомпилировалось. Вопрос, а почему в dsound этот тип не переопределен или какой хедер мне поключить, чтоб не надо было самому переопределять?
|
(Offline)
|
|
06.08.2011, 17:25
|
#47
|
Нуждающийся
Регистрация: 23.02.2011
Сообщений: 54
Написано 3 полезных сообщений (для 5 пользователей)
|
Ответ: DirectX и C++
Люди, а как сделать, что бы 3д объект был сглаженым, как стандартная сфера? Ведь она не такая гладкая и ровная. Я создал поверхность 20 на 20 точек и мне нужно, что бы поверхность была сглаженой.
|
(Offline)
|
|
07.08.2011, 19:40
|
#48
|
Нуждающийся
Регистрация: 23.02.2011
Сообщений: 54
Написано 3 полезных сообщений (для 5 пользователей)
|
Ответ: DirectX и C++
Все, ура!! Разобралься сам. Весь инет облазил. Оказывается, чтобы добиться эффекта сглажености, надо нормали высчитывать, как среднее арефметическое от нормалей смежных поверхностей.
|
(Offline)
|
|
13.08.2011, 16:01
|
#49
|
Нуждающийся
Регистрация: 23.02.2011
Сообщений: 54
Написано 3 полезных сообщений (для 5 пользователей)
|
Ответ: DirectX и C++
А вот и я, опять с проблемой, а точнее с вопросом и не с одним, а с несколькими.
1)Я хочу использовать прозрачность, включаю альфа смешивание, а оно происходит без учета z буфера. Тоесть за прозрачной сферой отрисовываютяся только те объекты, которые были уже отрисованы до сферы. Вопрос, как сделать если это возможно, чтобы буффер глубины учитывался при смешивании?
2)Кто-нибудь знает, где можно найти статьи по кубическим отражения и использовании IDirect3DCubeTexture, для реализации зеркала например?
3)И третий вопрось, можно ли сделать bump эффект не используя шэйдеры и если да то как?
|
(Offline)
|
|
13.08.2011, 16:27
|
#50
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: DirectX и C++
Вопрос, как сделать если это возможно, чтобы буффер глубины учитывался при смешивании?
|
альфа объекты надо рисовать, когда уже были отрисованы те, что сзади них.
2)Кто-нибудь знает, где можно найти статьи по кубическим отражения и использовании IDirect3DCubeTexture, для реализации зеркала например?
|
можешь хоть на блице посмотреть примеры использования кубмапов. работа конкретно с IDirect3DCubeTexture тривиальна, можешь глянуть хелп сдк.
3)И третий вопрось, можно ли сделать bump эффект не используя шэйдеры и если да то как?
|
лучше сказать, что нельзя, т.к. безшейдерные бампы выглядит убого.
|
(Offline)
|
|
13.08.2011, 16:50
|
#51
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: DirectX и C++
1)
device->SetRenderState(D3DRS_ZENABLE, D3DZB_TRUE);
device->SetRenderState(D3DRS_ZWRITEENABLE, FALSE);
device->SetRenderState(D3DRS_ZFUNC, D3DCMP_LESSEQUAL);
|
для сферы. и полупрозрачные объекты надо рисовать после непрозрачных в порядке от дальних к ближним.
2)
LPDIRECT3DCUBETEXTURE9 CubeMap;
m_d3dDevice->CreateCubeTexture(8192, 1, D3DUSAGE_RENDERTARGET, D3DFMT_R8G8B8, D3DPOOL_DEFAULT, &CubeMap);
....
...
CubeMap->GetCubeMapSurface(D3DCUBEMAP_FACE_POSITIVE_X, 0, &pRenderSurface);
device->SetRenderTarget(0,pRenderSurface);
device->Clear(0,
NULL,
D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
D3DCOLOR_XRGB(0,0,0),
1.0f,
0);
device->BeginScene();
и так 6 раз.
меняешь взгляд камеры и D3DCUBEMAP_FACE_POSITIVE_X
3)да.
device->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_DOTPRODUCT3 );
device->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
device->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_NORMCUBEMAP );
и можешь третьим слоем еще наложить диффузмапу.
|
(Offline)
|
|
13.08.2011, 17:23
|
#52
|
Нуждающийся
Регистрация: 23.02.2011
Сообщений: 54
Написано 3 полезных сообщений (для 5 пользователей)
|
Ответ: DirectX и C++
Спасибо большое!
Я знаю как писать в кубическую текстуру. Но как накладывать, как обычную текстуру или есть различия?
И еще, как сделать несколько проходов для одного уровня тукстур:
device->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_DOTPRODUCT3 );
device->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
device->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_NORMCUBEMAP );
device->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE);
device->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_DIFFUSE);
device->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_TETXURE);
Я правильно понимаю?
|
(Offline)
|
|
13.05.2012, 05:46
|
#53
|
Бывалый
Регистрация: 16.09.2009
Адрес: Sun system
Сообщений: 831
Написано 442 полезных сообщений (для 1,836 пользователей)
|
Ответ: DirectX и C++
Что означает вот такое сообщение:
"Указанной команде требуется псевдоним либо имя файла, драйвера или устройства. Задайте его."
(Английский вариант звучит, насколько я понял, так:
"The specified command requires an alias, file, driver, or device name. Please supply one.")
Возникает оно при попытке вызова
mciExecute('play C:\\Windows\\Media\\flourish.mid')
из winmm.dll
Процесс гугления результатов не принес.
|
(Offline)
|
|
13.05.2012, 12:34
|
#54
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: DirectX и C++
mciExecute('play C:\\Windows\\Media\\flourish.mid')
|
как это связано с DX? o_0 где ты это вообще обнаружил?
и с чего это тут кавычки не двойные?
|
(Offline)
|
|
13.05.2012, 14:20
|
#55
|
Бывалый
Регистрация: 16.09.2009
Адрес: Sun system
Сообщений: 831
Написано 442 полезных сообщений (для 1,836 пользователей)
|
Ответ: DirectX и C++
Да, с DirectX не связано. Прошу скинуть в отдельную тему, если возможно.
Обнаружил при попытке проиграть MIDI не заморачиваясь с дополнительными библиотеками, средствами самого Windows.
Кавычки одиночные потому что Python (можно и двойные, разницы нет). Но темы по Python нет, а вызов системных dll в C++ также примерно происходит.
Полный код был такой:
import ctypes, time ctypes.windll.winmm.mciExecute('play C:\\Windows\\Media\\flourish.mid') time.sleep(10) ctypes.windll.winmm.mciExecute('close C:\\Windows\\Media\\flourish.mid')
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:42.
|