forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты C++ (http://forum.boolean.name/forumdisplay.php?f=56)
-   -   Exotic Engine (http://forum.boolean.name/showthread.php?t=11826)

moka 14.02.2010 17:16

Ответ: HxEngine
 
На зелёном параллелепипеде затенённая сторона, видно что не правильно затенена, грань что ближе к источнику света, тёмная - такого не должно быть.
Также на первом скриншоте, видно что не сходятся рендеры на сферке.
Белый отсвет у дальнего борта, на пол и стену - тоже что-то странное.
Дальний угол тоже засветляется - имхо, неправильно.

ИМХО, сперва запили Directional - чтобы, рендерил без артефактов, а затем уже внедряй GI и т.п.
А так, уже неплохо :)

Igor' 15.02.2010 09:13

Ответ: HxEngine
 
Вложений: 1
Вот немного прокачал качество лайтмепов,убрал немного баги :)

Mr_F_ 15.02.2010 12:38

Ответ: HxEngine
 
что-то как-то больное стрёмные жирные швы по краям, и фактура у них как у грязи.

jimon 15.02.2010 12:41

Ответ: HxEngine
 
давайте прослеживать в каждом его движке (тысячи их) где качество начинает резко ухудшатся и где точка невозврата

Igor' 15.02.2010 12:52

Ответ: HxEngine
 
Цитата:

Сообщение от Mr_F_ (Сообщение 137496)
что-то как-то больное стрёмные жирные швы по краям, и фактура у них как у грязи.

Это AO,просто с немного не подкрученым радиусом,а выглидит так из за низкого разрешения лайтмапы.

moka 15.02.2010 22:59

Ответ: HxEngine
 
Я уже писал - делай каждый элемент рендера отдельно, и по стадиям.
Отруби ВСЁ, кроме направленного источника, и отшлифуй алгоритм до блеска, затем Только АО, и шлифуй его. Затем ТОЛЬКО! Глобальное освещение, и шлифуй его.
Иначе ты никак не достигнешь хорошего качества, подбором только коэффициентов..

Igor' 16.02.2010 16:09

Ответ: HxEngine
 
Цитата:

Сообщение от MoKa (Сообщение 137616)
Я уже писал - делай каждый элемент рендера отдельно, и по стадиям.
Отруби ВСЁ, кроме направленного источника, и отшлифуй алгоритм до блеска, затем Только АО, и шлифуй его. Затем ТОЛЬКО! Глобальное освещение, и шлифуй его.
Иначе ты никак не достигнешь хорошего качества, подбором только коэффициентов..

Да я уже и низнаю что и делать с этим артифактами,это уже с сомой лайтмапой чтото а вот алгоритмы расчёт и направленого и глобального освщения уже сделаны и сделаны правельно,я даже для постраения лайтмепы написал растеризатор,через сканлайн.
Кст сделал в експортёре потдержку експорта скелета,пока без анимации... Експортёр пока есть под 9\2008 максы.

Igor' 17.02.2010 00:42

Ответ: HxEngine
 
Доделав експорт скелеталки,решил написать свой автоматический юв анвраппер,буду делать LSCM(Least Squares Conformal Maps).
Потом уже буду заниматся корректированием самих лайтмапов.

Unodeya 17.02.2010 17:54

Ответ: HxEngine
 
Привет Igor. Каким образом в своем движке ты реализовал считывание клавитуры? Я так понял на ASCII. Через GetKeyState? Или WndProc? Через массив? bool keyz[256]; Извини за такие вопросы, просто у меня есть проблемы с этим:)

Igor' 17.02.2010 18:01

Ответ: HxEngine
 
Цитата:

Сообщение от Unodeya (Сообщение 137882)
Привет Igor. Каким образом в своем движке ты реализовал считывание клавитуры? Я так понял на ASCII. Через GetKeyState? Или WndProc? Через массив? bool keyz[256]; Извини за такие вопросы, просто у меня есть проблемы с этим:)

OIS(Object Oriented Input System).

Igor' 18.02.2010 02:04

Ответ: HxEngine
 
Вложений: 1
Ещё по техоньку делаю внутре двиговый редактор,уже есть потдержка плагинов,плагины 5 типов:

1) Tool Plugin - плагин типа модификаторов Move,Scale,Rotate
2) Render Plugin - плагин рендеринга,будет в стандарте 2 плагина,первый для просчёта лайтмеп,второй отрисовка сцены с помощью рейтрейсира,аля 3dsmax.
3) Import Plugin - импортёр своего формата
4) Export Plugin - експортёр своего формата
5) Entity Plugin - свой тип интитий

Плагины хранятся в отдельных dll,идитор при запуске автоматом шарит в рутовой и суб диррикториях исча плагины.

Igor' 19.02.2010 02:52

Ответ: HxEngine
 
Вложений: 1
Доделал до конца класс матереала,имеет такие методы:

Код:

        void setDepthTest( bool enable , int func );
        bool getDepthTest()const;

        void setDepthEarly( bool enable );
        bool getDepthEarly()const;

        void setDepthWrite( bool enable );
        bool getDepthWrite()const;

        void setAlphaTest( bool enable , int func , float ref );
    bool getAlphaTest()const;
       
        void setAlphaBlend( bool enable , int src , int dst );
        bool getAlphaBlend()const;

        void setCullFace( bool enable , int mode );
        bool getCullFace()const;

        void setWireframe( bool enable );
        bool getWireframe()const;

        void setColor( const float4& color );
        const float4& getColor()const;

        void setShader( Shader* shader );
        Shader* getShader()const;

        void setTexture( unsigned int index , Texture* texture );
        Texture* getTexture( unsigned int index );

Что каждый означает думаю нет смысла говорить.

По редактору сделал грид,сделал один Entity Plugin,кубик )).

Mr_F_ 19.02.2010 12:53

Ответ: HxEngine
 
хм, а как грид отрисовывал? посимпатичнее выглядит чем если альфанутую тексу на плоскость наносить (некрасиво мипмапится или мельтешит)
отдельными 3д линиями тормозно наверное (или это только в ксорсе тормозно)

Igor' 19.02.2010 13:25

Ответ: HxEngine
 
Цитата:

Сообщение от Mr_F_ (Сообщение 138222)
хм, а как грид отрисовывал? посимпатичнее выглядит чем если альфанутую тексу на плоскость наносить (некрасиво мипмапится или мельтешит)
отдельными 3д линиями тормозно наверное (или это только в ксорсе тормозно)

3Д линиями рисуется,не жалуюсь на скорость.

jimon 19.02.2010 14:19

Ответ: HxEngine
 
Mr_F_
наверно в xors они не загоняются в один буфер чтобы рисовать за один DIP

Igor' 22.02.2010 00:00

Ответ: HxEngine
 
Вложений: 1
Перелопачиваю експортёр,добавил експорт иерархии и хелперов\источников света.

И теперь в завсимости от типа текстур в матереале експортёр записывает в матереал тип пиксельного шейдера,если текстур ваще нету у матереала то пиксельный шейдер будет mesh_pixel.cg,если будет дефьюзная мапа то mesh_textured.cg,если будет бамп мапа то mesh_bump_pixel.cg,если будут и бамп мапа и дефьюзная текстура то mesh_textured_bump.cg,etc

FDsagizi 22.02.2010 01:26

Ответ: HxEngine
 
у экспортера обязательно должна быть с верху понелька для экспорта - где все эти... File, Edit, .... , Твой экспортер, Ebaut

Dream 22.02.2010 02:02

Ответ: HxEngine
 
Цитата:

Твой экспортер, Ebaut
EbautО_о я всё правильно понял?

Igor' 22.02.2010 02:47

Ответ: HxEngine
 
Цитата:

Сообщение от FDsagizi (Сообщение 138685)
у экспортера обязательно должна быть с верху понелька для экспорта - где все эти... File, Edit, .... , Твой экспортер, Ebaut

Ничего не должно быть,его не плохо можно выбрать в File->Export...

Igor' 22.02.2010 03:01

Ответ: HxEngine
 
Вложений: 2
Также доделал сортировку,сортируются и интии в мире и сурфейсы в меше,отрисовка рикурсивная,так что тормозить не должно....
И второй скрин,тест нового експортёра.

Mr_F_ 22.02.2010 12:58

Ответ: HxEngine
 
Цитата:

И теперь в завсимости от типа текстур в матереале експортёр записывает в матереал тип пиксельного шейдера
я долгое время практиковал такой подход и пришёл к выводу, что он неэффективен) часто может понадобится разные шейдеры, юзающие одни и те же тексы

FDsagizi 22.02.2010 13:07

Ответ: HxEngine
 
Цитата:

Сообщение от Igor' (Сообщение 138694)
Ничего не должно быть,его не плохо можно выбрать в File->Export...

Моделеры тебя уже ненавидят :-)

Igor' 22.02.2010 22:10

Ответ: HxEngine
 
Цитата:

Сообщение от FDsagizi (Сообщение 138724)
Моделеры тебя уже ненавидят :-)

Наобарот,ибо куча тулбаров ни есть гуд...

Igor' 22.02.2010 22:11

Ответ: HxEngine
 
Цитата:

Сообщение от Mr_F_ (Сообщение 138721)
я долгое время практиковал такой подход и пришёл к выводу, что он неэффективен) часто может понадобится разные шейдеры, юзающие одни и те же тексы

Матереалы сохраняются в отдельные файл,их можно редактировать.

Igor' 23.02.2010 20:13

Ответ: HxEngine
 
Вложений: 1
Добавил класс Debugger,который позволяет включать\отключать отрисовку отладочной информации,такой как скелет,баунб бокс и т.д
Также добавил в класс Mesh функцию просчёта Inverse Kinematic для скелета,функция computeCCD,просчитывает для нужной кости и её родителя(рекурсия) IK,вобщем с помощью неё можно делать спокойно тоже самое что и в дополнении Locomotion для Unity.

IGR 23.02.2010 20:37

Ответ: HxEngine
 
Цитата:

Добавил класс Debugger
о это полезно !! визуальный дебаг рулед !! :)

Mr_F_ 24.02.2010 09:31

Ответ: HxEngine
 
Цитата:

функцию просчёта Inverse Kinematic для скелета
откуда спер?)

Igor' 24.02.2010 09:53

Ответ: HxEngine
 
Цитата:

Сообщение от Mr_F_ (Сообщение 139147)
откуда спер?)

Былобы чего и откуда переть... Вобщем в Blender есть IK Solver.

Dream 24.02.2010 17:47

Ответ: HxEngine
 
Цитата:

Сообщение от Igor' (Сообщение 139051)
Добавил класс Debugger,который позволяет включать\отключать отрисовку отладочной информации,такой как скелет,баунб бокс и т.д
Также добавил в класс Mesh функцию просчёта Inverse Kinematic для скелета,функция computeCCD,просчитывает для нужной кости и её родителя(рекурсия) IK,вобщем с помощью неё можно делать спокойно тоже самое что и в дополнении Locomotion для Unity.

Охотник сцапал Луиса!

Igor' 24.02.2010 23:42

Ответ: HxEngine
 
Вложений: 1
Cделал сеймпл по альфа блендингу,показывает альфа сортировку.
В сцене 6400 полу-прозрачных кубиков с текстурой.

Сам бленд для матереала делается лёгким движением руки:

Код:

#define BLEND_ALPHA GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA

material->setAlphaBlend(true,BLEND_ALPHA);
material->setColor(float4(1,1,1,0.5f));


Igor' 25.02.2010 08:48

Ответ: HxEngine
 
Cделал фонувую загрузку ресурсов,щас вот стриминг текстур делаю...

Igor' 26.02.2010 01:45

Ответ: HxEngine
 
Вложений: 1
Cекретные разработки :)

Igor' 28.02.2010 18:07

Ответ: HxEngine
 
Вложений: 1
Мышинка :)
Тестировал загрузку кубмап,и хелперы. Думаю вот заставить её ездить.

Igor' 08.03.2010 03:06

Ответ: HxEngine
 
Пишу расширения для движка GameEngine,который будет базироватся на Server-Client cистеме,готов мастер сервер.

Igor' 29.03.2010 17:28

Ответ: HxEngine
 
Немного перековырял архитектуру.
Добавил потдержку OpenGL 3.2,теперь матереалы абстрактны,тоесть пишем свой тип матереала для конретных задач и в файле указываем в качестве имя класса матереала,свой:
Код:

<Material>
 <Class name="StandartMaterial"/>
 <DiffuseTexture file="color_map.dds"/>
 <Color r="1.0" g="1.0" b="1.0" a="1.0"/>
<Material/>

Также добавлен единый конфигурационый файл:
Код:


<Video>
  <Width value="1024"/>
  <Height value="768"/>
  <FullScreen value="0"/>
  <MSAA value="None"/>
</Video>

<Texture>
  <Filter mode="Linear"/>
  <Anistropy level="0.0"/>
  <MipStart level="0"/>
</Texture>

<Gui>
  <Resource file="core.xml"/>
</Gui>

<Game>
  <Title name="Squad Engine"/>
</Game>

Преписан ресурсный менеджер который с лёгкостью позволяет грузить ресурсы в отдельном потоке:
Код:

        class BackgroundResourceLoader{
        public:
                SINGLETON(BackgroundResourceLoader);

                void add( Resource* resource );

                void flush();
        };

Но можно и грузить ресурс в текущем потоке юзая макрос:
Код:

    #define ResourceCache(ResourcePtr,ResourceFile) ResourcePtr->setFileName(ResourceFile); ResourcePtr->load();
Так же интии разделены на два типа просто интития Entity,и RenderableEntity тоесть та которую можно отрисовать.
Теперь и написание приложения немного изменилось,тоесть добавлен абстрактный класс EngineListener,в котором есь виртуальные методы init(),shutdown(),update(),и пару связаных с инпутом.
Код:

        class EngineListener : public OIS::MouseListener,public OIS::KeyListener
        {
        public:
       
                EngineListener();
                virtual ~EngineListener();

                virtual void init();
                virtual void shutdown();

                virtual void resize( uint width , uint height );
                virtual void update( uint fps , float deltaTime );

                virtual void minimize();
                virtual void maximize();

       
                virtual bool mouseMoved(const OIS::MouseEvent& _arg);
            virtual bool mousePressed(const OIS::MouseEvent& _arg, OIS::MouseButtonID _id);
            virtual bool mouseReleased(const OIS::MouseEvent& _arg, OIS::MouseButtonID _id);
            virtual bool keyPressed(const OIS::KeyEvent& _arg);
            virtual bool keyReleased(const OIS::KeyEvent& _arg);
};

Юзается так:
Код:

#include "..\Engine\squad.h"


class Game : public Squad::EngineListener{
public:
        bool keyPressed(const OIS::KeyEvent& _arg){
                if( _arg.key == OIS::KC_ESCAPE )
                        Squad::Engine::getInstance().exit();

                return Squad::EngineListener::keyPressed(_arg);
        }
};

void main(){
        Squad::Engine* engine = Squad::Engine::getInstancePtr();
        engine->init(new Game,"");
        engine->main();
        engine->shutdown();
}


FDsagizi 29.03.2010 21:41

Ответ: HxEngine
 
Принимать напрямую сообщения от OIS -а не лучшая идея т.к. не возможность юзать из под редактора это раз - оис не садиться на панели редакторов, и 2 - потом нужно будет переделывать так чтобы можно было выставлять свои кнопки на события...

Igor' 29.03.2010 22:51

Ответ: HxEngine
 
Цитата:

Сообщение от FDsagizi (Сообщение 143551)
Принимать напрямую сообщения от OIS -а не лучшая идея т.к. не возможность юзать из под редактора это раз - оис не садиться на панели редакторов, и 2 - потом нужно будет переделывать так чтобы можно было выставлять свои кнопки на события...

1) На Qt панели\окна OIS спокойно инициализируется.
2) Не вижу проблемы.
3) Редактор на GUI движка - MyGUI,что даже дает буст в быстродействии редактора.

Igor' 29.03.2010 22:59

Ответ: HxEngine
 
Поповоду второго:

Код:

#include "..\Engine\squad.h"


typedef void (*KeyAction)();

static KeyAction keyBind[240]; // всего OIS потдерживает 237 клавиш,округлил.

void ExitAction(){
        Squad::EnginePtr()->exit();
}

class Game : public Squad::EngineListener{
public:
        bool keyPressed(const OIS::KeyEvent& _arg){
               
                if( keyBind[_arg.key] != 0 )
                        keyBind[_arg.key]();

                return Squad::EngineListener::keyPressed(_arg);
        }
};

void main(){
        memset(keyBind,0,sizeof(keyBind));
        keyBind[OIS::KC_ESCAPE] = ExitAction;

        Squad::Engine* engine = Squad::Engine::getInstancePtr();
        engine->init(new Game,"");
        engine->main();
        engine->shutdown();
}


FDsagizi 30.03.2010 07:10

Ответ: HxEngine
 
Цитата:

Сообщение от Igor' (Сообщение 143571)
1) На Qt панели\окна OIS спокойно инициализируется.
2) Не вижу проблемы.

Значит это была проблема именно с огром....

Цитата:

3) Редактор на GUI движка - MyGUI,что даже дает буст в быстродействии редактора.
MyGUI Как гуи для редактора не очень здоровая идея - в нем нету многих мелочей типа, там нежу нормального - TreeView, даже банально иконки поставить в элементы List не получиться...

Хотя версия 4,0 гуи, обесчает быть крутой - но это нужно жадть и то не факт.

Igor' 30.03.2010 08:49

Ответ: HxEngine
 
Цитата:

Сообщение от FDsagizi (Сообщение 143622)
MyGUI Как гуи для редактора не очень здоровая идея - в нем нету многих мелочей типа, там нежу нормального - TreeView, даже банально иконки поставить в элементы List не получиться...

Хотя версия 4,0 гуи, обесчает быть крутой - но это нужно жадть и то не факт.

Ну я переодически общаюсь с разработчиками,недавно специально по моей просьбе my.name допилил плагин веб браузера.

Igor' 02.04.2010 02:20

Ответ: HxEngine
 
Теперь рендеринг карты глубины и шедоумап ещё проще:

Код:

        class World : public BaseWorld{
        public:
                World();
                virtual ~World();

                virtual void clear();

                virtual void addEntity( Entity* entity );
                virtual void addRenderableEntity( RenderableEntity* entity );
            virtual const Vector<Entity*>* getEntityList()const;

                virtual void removeEntity( Entity* entity );
                virtual void removeRenderableEntity( RenderableEntity* entity );
                virtual const Vector<RenderableEntity*>* getRenderableEntityList()const;

                virtual void update( float delta );

                // normal sorted rendering
                virtual void renderFrontToBack( Camera* camera );
                virtual void renderBackToFront( Camera* camera );

                // normal rendering with sort for alpha blend
                virtual void render( Camera* camera , bool sort = true );

                // depth only rendering
                virtual void renderDepth( Camera* camera );
               
                // shadow depth rendering
                virtual void renderShadowDepth( Camera* camera );

        protected:
                Vector<Entity*> entities;
                Vector<RenderableEntity*> renderable_entities;
        };

Теперь "мир" имеет методы renderDepth,и renderShadowDepth,renderShadowDepth отличается от renderDepth тем что отрисовываются только те интиии у которых флаг ShadowCaster равен true.

Igor' 15.06.2010 14:08

Ответ: HxEngine
 
Вложений: 1
Движок был переменован в Exotic Engine.
Cейчас пишу свой гуи из контролов:

Window,
Button,
VSlider,
HSlider,
Label,
Sprite,
EditBox,
CheckBox\RadioButton,
VideoBox( Потдержка Vorbis Ogg Video ).

А так-же потдержка локализационых файлов:

Пишем просто:

Код:

        button = new Button(gui,"#Play");
        button = new Button(gui,"#Pause");
        button = new Button(gui,"#Stop");

В локализационом файле определяем эти #Play,etc

Примеры:

english.lang
Код:

#FPS "FPS"
#Exit "Exit"
#Play "Play"
#Stop "Stop"
#Pause "Pause"

russian.lang
Код:

#FPS "FPS"
#Exit "Выход"
#Play "Воспроизвести"
#Stop "Остановить"
#Pause "Преостановить"


SBJoker 15.06.2010 15:43

Ответ: HxEngine
 
Это годное название*,
*цени мою подпись.

ABTOMAT 15.06.2010 17:31

Ответ: HxEngine
 
>> Преостановить
Почему-то бесит, не знаю, почему.

.Squid 15.06.2010 18:05

Ответ: HxEngine
 
Цитата:

Сообщение от ABTOMAT (Сообщение 150303)
>> Преостановить
Почему-то бесит, не знаю, почему.

А "потдержка" не?

ABTOMAT 16.06.2010 02:26

Ответ: HxEngine
 
Цитата:

Сообщение от .Squid (Сообщение 150313)
А "потдержка" не?

Тоже, но это - особенно.

Igor' 16.06.2010 10:08

Ответ: HxEngine
 
Записал короткое видео: http://www.youtube.com/watch?v=OD8sLXmuUYQ

jimon 16.06.2010 12:10

Ответ: HxEngine
 
счетчик фпс порадовал

Igor' 16.06.2010 12:15

Ответ: HxEngine
 
Цитата:

Сообщение от jimon (Сообщение 150376)
счетчик фпс порадовал

FRAPS - 25 Lock Frame Rate

Igor' 18.06.2010 11:02

Ответ: HxEngine
 
Вложений: 1
Довёл до рабочего состояния Uber-Shader систему.

Формат матереалов:
Код:

#NoLighting ""
#DiffuseMap "FieldstoneDiffuse.dds"
#NormalMap "FieldStoneNormal.dds"
#HeightMap "FieldstoneHeight.dds"
#EnvironmentMap "cubemap.dds"
#ParallaxPower "0.008"
#Gloss ".3f"
#Specular "0.4f,0.4f,0.4f"
#Blinn ""

Потдерживается на данный момент такие эффекты как:
- Diffuse Mapping
- Normal Mapping
- Specular Mapping
- Parallax Mapping
- Environment Mapping

Igor' 19.06.2010 20:47

Ответ: HxEngine
 
Написал експортёр для 3dsmax,потдерживаются параметры:

Opacity - Прозрачность
Specular - Цвет спекуляра
Glossiness - Интенсивность спекуляра
Color - Цвет

Из карт:
Diffuse( #DifuseMap ),
Ambient( #AmbientMap ),
Bump( #NormalMap ),
Reflection( #EnvironmentMap ),
Opacity( #OpacityMap ),
Displacement ( #HeightMap ),
Specular( #SpecularMap ),
Glossiness( #GlossMap ),
Self-Illumination( #SelfIlluminationMap ).

Igor' 19.06.2010 23:31

Ответ: HxEngine
 
Небольшое видео с Nanosuit( Diffuse + Normal + Specular ).
На моей машине с GeForce 9600 GSO выдает стабильно 950 fps ( 950 - 1200 ).
Ссылка: http://www.youtube.com/watch?v=HAdyTJyQfWI

Igor' 21.06.2010 07:02

Ответ: HxEngine
 
Вложений: 2
Вот сделал пацнский Bloom :-D
Сейчас вот HDR думаю сделать...

HolyDel 21.06.2010 08:02

Ответ: Exotic Engine
 
//Переименовал тему.

блум зачетный!

кстати, я не видел не одной демки. скрины, видео, это хорошо, но хотелось - бы покрутить примеры вживую. и тебе будет много лучше - тестеры - всегда хорошо.

Igor' 21.06.2010 08:10

Ответ: Exotic Engine
 
Цитата:

Сообщение от HolyDel (Сообщение 150770)
//Переименовал тему.

Cпасибо!


Цитата:

Сообщение от HolyDel (Сообщение 150770)
блум зачетный!

Спасибо!


Цитата:

Сообщение от HolyDel (Сообщение 150770)
кстати, я не видел не одной демки. скрины, видео, это хорошо, но хотелось - бы покрутить примеры вживую. и тебе будет много лучше - тестеры - всегда хорошо.

Ну я решил что пока не будет что-то что реально можно показать,не буду выкладывать демки. А то выкладывать даже 10мб с моим тырнетом ради того чтобы люди посмотрели на двух стоящий чаров...

Igor' 22.06.2010 17:48

Ответ: Exotic Engine
 
Вложений: 1
Parallax Occlusion Mapping( Есь ещё простой и Step Parallax Mapping ).

Igor' 23.06.2010 01:01

Ответ: Exotic Engine
 
Вложений: 1
Вот теньки сделал с PCF.

Igor' 23.06.2010 11:27

Ответ: Exotic Engine
 
Вложений: 1
Ландшафт - с динамическим лодом(4 уровня),пока без квадри,просто отсечение по фрустуму...

ARA 23.06.2010 11:40

Ответ: Exotic Engine
 
Шикарные картинки и тени :) Это PSSM?

Igor' 23.06.2010 12:06

Ответ: Exotic Engine
 
Цитата:

Сообщение от ARENSHI (Сообщение 150974)
Шикарные картинки и тени :) Это PSSM?

Нет просто шедоу маппинг,PSSM потом будет для направленого источника.

ARA 23.06.2010 12:16

Ответ: Exotic Engine
 
Сори за нубские вопросы xD
Типа ПССМ - это специально для открытых пространств хреновина?

Igor' 23.06.2010 12:51

Ответ: Exotic Engine
 
Цитата:

Сообщение от ARENSHI (Сообщение 150978)
Сори за нубские вопросы xD
Типа ПССМ - это специально для открытых пространств хреновина?

Вобще да.
ЗЫ В PSSM но говорят что для открытых пространст самое оно,есь ещё разновидности PSSM,каждая разновидность имеет свои плюсы и минусы.

-=SCiP=- 24.06.2010 16:47

Ответ: Exotic Engine
 
Igor' - Неплохо ты продвинулся.
Коле не секрет сколько весит весь исходник двига?

Igor' 24.06.2010 20:00

Ответ: Exotic Engine
 
Цитата:

Сообщение от -=SCiP=- (Сообщение 151282)
Igor' - Неплохо ты продвинулся.
Коле не секрет сколько весит весь исходник двига?

980кб,без стороних библиотек.


Часовой пояс GMT +4, время: 20:57.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot