Xtreme3D Community
Теневые карты - Версия для печати

+- Xtreme3D Community (https://xtreme3d.ru/forums)
+-- Форум Xtreme3D (https://xtreme3d.ru/forums/forumdisplay.php?fid=3)
+--- Форум Вопросы и ответы (https://xtreme3d.ru/forums/forumdisplay.php?fid=6)
+--- Темы: Теневые карты (/showthread.php?tid=62)

Страницы: 1 2


Теневые карты - Gecko - 03-10-2022

Посмотрел, никакого постороннего тумана не увидел (кроме черного, который и должен быть). Браузер никак не влияет.
Какая-то невнятная навигация по сцене, сложно нормально тестировать)

[Изображение: j-P15xbrk-WY.jpg]

Пока вот что заметил:

Код:
[== Неизвестный ==]
view1 = ViewerCreate(0, 0, display_get_width(), display_get_height(), window_handle());

при том, что окно 500x500, к тому же идет запуск в полноэкранном режиме. В Xtreme3D это может плохо работать. Советую размер комнаты/окна и размер view делать одинаковый, например 1280x720, и потестить сначала в оконном режиме. Start in fullscreen mode в ГМ сам по себе некорректно работает при использовании сторонней графики. Если наужен фулскрин, то надо еще в настройках Resolution поставить галку Set the resolution of the screen и выставить нужные настройки. Соответственно, соотношение размера окна и view должны быть такими же, как у выбранного видеорежима (то есть, 3:4, так как ГМ8 не поддерживает другие соотношения). Это самый надежный способ, насколько я знаю.

Цитата:А кому нужно создавать эти шейдеры? Тому кто отбрасывает тень или тот на кого она падает?
Материал 'mShader' применить к объектам, на которые должна падать тень. У объектов, которые отбрасывают тень, шейдер не имеет значения, но они могут использовать тот же самый (т.е., и отбрасывать, и принимать). Главное их добавить в дерево к shadowCasters.


Теневые карты - Глеб - 03-11-2022

Странно, почему у вас нету текстуры ландшафта? И как размер комнаты может повлиять на размер окна? У меня действие происходит (терраин по размерам 500 на 500). Вот я и решил ограничить комнату. Так всегда делал.
Это нужна специальная функция для настройки вида? Разрешение и полноэкранный режим?
В чем проблема навигации? Когда мышку до краев доводили перемещение осуществлялось или были какие-то проблемы? Приближение отдаление колёсиком. Зажать пкм и двигать мышь в право влево и будет поворот.
На счет теней я так делал, но вместо этого весь терраин просто затемнился но теней от танка нет.


Теневые карты - Глеб - 03-11-2022

У меня 1680 на 1050, если я выставлю такой размер комнаты, то как будет работать на мониторах с другим разрешением? Как одоптировать под любой монитор, нужно в настройках окна задать по размерам дисплея.
В функциях вида нашел в справке только как взять ширину и высоту, где указать полноэкранный?
Я так понимаю нужно window_set_fullscreen true и window_set_size display_get_width и аналогично для высоты, я вас правильно понял?
Ещё в конце добавил две строчки кода
room_width=display_get_width();
room_height=display_get_height();
А саму комнату в настройках оставил 500 на 500, мне так удобнее расставлять объекты, чтобы было ограничение на краях карты.
И все же вы не дали ответ на самый главный вопрос, где тени то? Что я не так сделал?

matterrain=MaterialLibraryCreate();
MaterialLibraryActivate(matterrain);

MaterialCreate('mTerrain1', 'textures/terrain/tex_river_rakovka.jpg');
MaterialSetOptions('mTerrain1',false,false);
shmap1=BumpShaderCreate();
BumpShaderSetDiffuseTexture(shmap1,'mTerrain1');
BumpShaderSetMaxLights(shmap1,8);
MaterialCreate('mShader1','');
MaterialSetShininess('mShader1',32);
MaterialSetAmbientColor('mShader1',c_dkgray,1);
MaterialSetDiffuseColor('mShader1',c_white,1);
MaterialSetSpecularColor('mShader1',c_white,1);
MaterialSetShader('mShader1',shmap1);

BumpShaderSetShadowMap(shmap1,global.shadowmap);
BumpShaderSetShadowBlurRadius(shmap1,2);

map1=FreeformCreate('models/terrain/river_rakovka.obj',matterrain,matterain,global.scene);
ObjectSetMaterial(map1,'mShader1');
ObjectSetPosition(map1,250,0,250);

FreeformBuildOctree(map1);
OdeStaticCreate(map1);
OdeAddTriMesh(map1,0);

вот я применил к местности шейдерный материал, но в игре просто он серый, а теней нет от танка. Танк 100% в древе шадоукастерс


Теневые карты - Gecko - 03-19-2022

Чтобы корректно растянуть на весь экран, нужно включить полноэкранный видеорежим, и чтобы размер вида совпадал с этим режимом. К сожалению, в ГМ ограниченный набор видеорежимов. Если просто сделать окно на весь экран (Start in fullscreen mode), и создать вид с размерами, полученными из display_get_width/height, то это может плохо работать (по крайней мере, у меня на некоторых конфигурациях некорректно работало).

Да и черт с ним, я считаю - я вообще не рекомендую ГМ8 использовать, слишком много там проблем накопилось. Мне вот интересно, как в Студии обстоят дела с этим, скорее всего лучше - как-нибудь на днях проверю.