Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Вниз

Правильное освещение (GLScene)   Найти похожие ветки 

 
Colt1978   (2004-10-05 08:43) [0]

Мастера, вот такой вот вопрос: В проекте фриформа (набор зданий), источник света вращающийся как солнце. Подскажите как замутить правильную тень ? Максимум что у меня получается так это то что по какимто непонятным причинам сквозь так называемую "землю" на здания снизу светит солнце которое в тот момент проходит круг. Что делать ?


 
Megabyte-ceercop ©   (2004-10-05 09:02) [1]

Просто включить/выключить тень нельзя, её просто небывает.
Нужно делать свой расчет геометрии тени.

А в твоем случае похоже нужно просто наступление ночи (солнце с другой стороны планеты)
Сбавляй яркость освещения до нуля (а синего немного оставь) когда солнце клонится к так называемому горизонту.

Пробуй. :|


 
Colt1978   (2004-10-05 09:34) [2]

попробую.... А что делать с GLLensFlare1 его можно плавно затушить....


 
Megabyte-ceercop ©   (2004-10-05 09:53) [3]

Прости, я незнаю что такое GLScene могу давать только общие советы по 3D.
Я так понимаю

> GLLensFlare1

- это источник света.

Делай примерно так:

GLLensFlare1.яркость = GLLensFlare1.Y;

:)  Y - это предполагается координата источника света.
Если этот источник имеет только направление, то пооперируй с его нормалями.


 
DeadMeat ©   (2004-10-05 17:43) [4]

Не совсем догнал, чего там снизу светится...
Могу предположить, что надо поиграться с порядком элементов в иерархии...

GLLensFlare можно затушить (кажется), но не помню как... Вот домой доберусь - там гляну.


 
DeadMeat ©   (2004-10-05 22:03) [5]

Ну вообщем можно использовать GLLensFlare.Size для изменения размера.
Или менять RaysGradient, RingGradient, SecondariesGradient, StreaksGradient.

Теперь по поводу теней. Думаю можно использовать TGLShadowVolume. Или если поверхность плоская, то TGLShadowPlane. В последнем случае, будет чуть пошустрее, но врядли пригодиться. Первый же, даст серьезных тормозов...
Если тень нужна только от здания, то можно ее влепить в качестве текстуры. Тормозить особо не будет. Можно использовать TGLProjectedTextures. Правда я с ним еще не очень прикололся. Он понадобиться, если надо эту "текстурную" тень, наложить и на другие объекты. Действует по типу TGLShadowVolume (и даже использует кое-чего от него), то не вычисляет всех границ объектов для создания тени, а просто "проецирует" ее на них...

---
...Death Is Only The Begining...


 
dimodim   (2004-10-05 22:39) [6]

Gllensflare - visible.false;
gllensflase /Сделать пустые текстуры


 
Colt1978   (2004-10-06 14:26) [7]

DeadMeat TGLShadowVolume попробовал... и отказался....(тормоза заметны сразу) . да пусть немного снизу подсвечивает.... Я по карте раскидал несколько источников света и косяк того что из под земли что-то светит - пропал....
Вот и всё....


 
DeadMeat ©   (2004-10-06 19:00) [8]

Вообще желательно минимизировать количество используемых источников света... Лучше даже вообще без них обойтись. Так можно изрядно повысить FPS. Ведь для чего тебе нужен источник света? Если только для тени, то лучше искать другое решение, т.к. в двоем они дают серьезные тормоза. Их можно использовать как есть, только в маленьких демках.
Если свет нужен только для карты (освещать ее), то лучше использовать текстуры с лайтмэппингом. Конечно это по проблематичней, но выигрыш от этого будет... Вообщем надо искать компромис. Сразу все готовое лучше не использовать, а немного дорабатывать и изменять...

---
...Death Is Only The Begining...


 
Colt1978   (2004-10-07 12:10) [9]

Спасибо, а как создаются текстуры с лайтмэппингом ?
У меня на карте текстур практически нет, так только заливка созданная в 3Д максе в качестве материала и всё....
Просто в проекте должны присутствовать сутки.
Кстати никто не знает как можно имея реальное время распологать по нему солнце. Допустим зенит солнца это 15 ч дня, закат 21 ч, восход 9 утра. Есть у кого идеи, причём чтобы к примеру раз в минуту  происходила сверка с часами на компе и солнце смещалось... ?


 
DeadMeat ©   (2004-10-07 23:39) [10]

Кажись 3DS лайтмэппинг не поддерживает...
Нужно редактор и формат подобрать для этого... BSP точно поддерживает и скорее всего QuArK...

---
...Death Is Only The Begining...


 
Colt1978   (2004-10-08 06:36) [11]

Странно что с моей картой этот кварк работать не хочет.... слишком она крута для него....



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.036 c
1-1105042555
pika
2005-01-06 23:15
2005.01.23
Перекрывание !!!


1-1105421455
TeNY
2005-01-11 08:30
2005.01.23
посоветуйте VCL аналог компонента веббраузер


1-1105539322
Mishenka
2005-01-12 17:15
2005.01.23
Как из переменной типа TDateTime извлечь отдельно Time и Date?


1-1105370042
Nightfire
2005-01-10 18:14
2005.01.23
Вопрос про Units


14-1104513716
Егор
2004-12-31 20:21
2005.01.23
Наше старое кино





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский