forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   Melissa Project (http://forum.boolean.name/showthread.php?t=19483)

pozitiffcat 29.11.2014 23:15

Ответ: Melissa Project
 
Да, то о чем ты говоришь, я об этом думал, что все херня, пока нет какого-то влияния из вне, так, что просто буду заниматься ради удовольствия. Если поцики заинтересуются, может буду делать что нибудь. А так шансов нет конечно.
Слушай а где можно пощупать ксорс, который пилится?

Knightmare 29.11.2014 23:15

Ответ: Melissa Project
 
Цитата:

Сообщение от mr.DIMAS (Сообщение 289882)
лал, ну вот опять понеслась "нахер двиг когда есть готовые?". без игры для которой это двиг делается, трудно понять че в него пихать и как это все будет на производительность влиять в реальном проекте. поэтому двиг писать это всегда интересно, и даже полезно, особенно если параллельно пишешь игру.

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

по движку: бамп дикий, спекуляра много, а так графон приятный.

недавно получил в распоряжение старый комп( мой второй комп, который в свое время отдал другу и вот он мне его вернул ), поставил туда codelite + mingw и запиливаю двиг на чистом си на опенгл - и вот оно чё - мне это доставляет, кароч не важно кто че там говорит "нахер надо? ты че упоролся?", главное чтоб кайф был когда пишешь двиг\игру.

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

Не, ну если ты делаешь какую-то наркотическую хуиту с ривалюционным геймплеем (то что щас называют инди), то, возможно, имеет смысл велосипедить. Но все равно сомнительно, сдается мне в любом случае допилить готовое будет быстрее и дешевле, чем велосипед очередной, хотя конечно же просто так взять готовый двиг и из коробки его юзать не выйдет, о чем я не раз уже говорил в срачиках о юнити, например. Другое дело что многие не могут во что-то новое, поэтому начинается "а вот я возьму блитз и запилю на нем еба движок и ваще вы все охуеете", а по факту ни движка, ни игры для которой он писался (потому что там что неебически ривалюционное, да, жалкие поделия на рынке конечно же не способны были реализовать это), хотя на готовом может что-то бы и вышло даже.

pozitiffcat 29.11.2014 23:17

Ответ: Melissa Project
 
Вложений: 1
Цитата:

Сообщение от mr.DIMAS (Сообщение 289882)
лал, ну вот опять понеслась "нахер двиг когда есть готовые?". без игры для которой это двиг делается, трудно понять че в него пихать и как это все будет на производительность влиять в реальном проекте. поэтому двиг писать это всегда интересно, и даже полезно, особенно если параллельно пишешь игру.

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

по движку: бамп дикий, спекуляра много, а так графон приятный.

недавно получил в распоряжение старый комп( мой второй комп, который в свое время отдал другу и вот он мне его вернул ), поставил туда codelite + mingw и запиливаю двиг на чистом си на опенгл - и вот оно чё - мне это доставляет, кароч не важно кто че там говорит "нахер надо? ты че упоролся?", главное чтоб кайф был когда пишешь двиг\игру.

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

Бампа тут нет, спекуляра не много, просто такая своеобразная реализация HDR, цвет текселя в степени двойки умноженное на 5, вот посмотри скрин без этого

mr.DIMAS 29.11.2014 23:25

Ответ: Melissa Project
 
Цитата:

Не, ну если ты делаешь какую-то наркотическую хуиту с ривалюционным геймплеем
нет, я делаю обычный хоррор - вот тема - ( я хз, ты вроде на форум частенько заходишь, а мою тему видимо проглядел + исходники в подписи )

Knightmare 29.11.2014 23:25

Ответ: Melissa Project
 
Цитата:

Сообщение от pozitiffcat (Сообщение 289884)
Да, то о чем ты говоришь, я об этом думал, что все херня, пока нет какого-то влияния из вне, так, что просто буду заниматься ради удовольствия. Если поцики заинтересуются, может буду делать что нибудь. А так шансов нет конечно.

Ну для лулзов можно пилить все что угодно, на чем угодно и как угодно. Это я все к случаю когда ты желаешь получить какой-то профит от своих усилий (охуллиард долларов кэшем/лайки от мильенов юзеров/золотой памятник в полный рост), если каких-то таких целей нет (т.е. по сути пишешь в стол), то и мысли на тему "а нужно ли это кому-нибудь" тоже не имеют смысла.

Цитата:

Сообщение от pozitiffcat (Сообщение 289884)
Слушай а где можно пощупать ксорс, который пилится?

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

pozitiffcat 29.11.2014 23:29

Ответ: Melissa Project
 
Цитата:

Сообщение от Knightmare (Сообщение 289888)
Ну для лулзов можно пилить все что угодно, на чем угодно и как угодно. Это я все к случаю когда ты желаешь получить какой-то профит от своих усилий (охуллиард долларов кэшем/лайки от мильенов юзеров/золотой памятник в полный рост), если каких-то таких целей нет (т.е. по сути пишешь в стол), то и мысли на тему "а нужно ли это кому-нибудь" тоже не имеют смысла.


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

Не было мысли вспомнить былые времена? Покодить двигло? ))

Knightmare 29.11.2014 23:32

Ответ: Melissa Project
 
Ну я ж выше писал уже, что прикидывал трудозатраты, но посчитав (причем весьма грубо, в реальности могло выйти намного больше) да и помня имеющийся опыт я таки решил, что нахер мне такое счастье, хотя поддержка халявного продукта все проще должна быть, и не так юзеры будут выносить моск.
А так сраный кокос подпиливаю по ситуации, тоже веселое занятие чо.

pozitiffcat 30.11.2014 19:13

Ответ: Melissa Project
 
Вложений: 1
Мягкие тени, любуйтесь.
Вместе с этим я еще сделал управляемый процесс пост обработки. Вешается свой колбэк. Вот пример:
Код:

class MyRenderCallback : public mfRenderCallback
{
public:
    MyRenderCallback(mfScene *scene)
    {
        m_hdr = scene->loadProgram("hdr.glsl");
        m_ssao[0] = scene->loadProgram("ssao_pass_1.glsl");
        m_ssao[1] = scene->loadProgram("ssao_pass_2.glsl");
        m_screenBuffer = scene->createRenderFramebuffer(0, 0);
        m_ssaoBuffer[0] = scene->createRenderFramebuffer(0, 0);
        m_ssaoBuffer[1] = scene->createRenderFramebuffer(0, 0);
    }

    void onRender(mfRenderContext *context)
    {
        context->drawScreenToFramebuffer(m_screenBuffer);
        context->setFramebufferToProgram("_screen_buffer_", m_screenBuffer, m_ssao[0], 0);
        context->processEffectToFramebuffer(m_ssao[0], m_ssaoBuffer[0]);

        context->setFramebufferToProgram("_base_screen_buffer_", m_screenBuffer, m_ssao[1], 0);
        context->setFramebufferToProgram("_screen_buffer_", m_ssaoBuffer[0], m_ssao[1], 1);
        context->processEffectToFramebuffer(m_ssao[1], m_ssaoBuffer[1]);

        context->setFramebufferToProgram("_screen_buffer_", m_ssaoBuffer[1], m_hdr, 0);
        context->processEffectToScreen(m_hdr);
    }

private:
    mfProgram *m_hdr = 0;
    mfProgram *m_ssao[2];
    mfFramebuffer *m_screenBuffer = 0;
    mfFramebuffer *m_ssaoBuffer[2];
};


pozitiffcat 30.11.2014 20:07

Ответ: Melissa Project
 
Вложений: 1
Тут есть ребята, которые могут помочь мне с SSAO?
А то вот какой он у меня:
PHP код:

precision highp float;

#ifdef _vertex_

in vec3 _attr_position_;
in vec2 _attr_texcoord_1_;
out vec2 texcoord_1;

void main()
{
  
gl_Position vec4(_attr_position_1.0);
  
texcoord_1 _attr_texcoord_1_;
}

#endif

#ifdef _fragment_

in vec2 texcoord_1;
uniform sampler2D _position_buffer_;
uniform sampler2D _normal_buffer_;

layout(location 0out vec4 color;

float doAmbientOcclusion(vec2 uvvec3 pvec3 cnorm

  
vec3 diff texture(_position_buffer_texcoord_1 uv).xyz p
  
vec3 v normalize(diff); 
  
float d length(diff) * 1.0
  return 
max(0.0,dot(cnorm,v) - 0.005)*(1.0/(1.0+d))*0.7
}  

float rand(vec2 co){
  return 
fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453);
}

vec2 rnd(float ifloat j)
{
  
float f rand(texcoord_1.xy);
  
float r mod(f0.05);
  return 
vec2(rr);
}

void main()

    
vec4 pos texture(_position_buffer_texcoord_1);
    
vec3 norm texture(_normal_buffer_texcoord_1).xyz;
    
    
float ao 1.0;

    
float z pos.a;
    for (
float i = -0.04<= 0.04+= 0.05)    
    {
      
ao -= doAmbientOcclusion(rnd(i0.0), pos.xyznorm);
    }
    
    for (
float j = -0.04<= 0.04+= 0.05)
    {
      
ao -= doAmbientOcclusion(rnd(0.0j), pos.xyznorm);
    }
    
color vec4 (ao);
}

#endif 


Arton 30.11.2014 20:35

Ответ: Melissa Project
 
Скриншоты приятные но везде присутствует шум, типо карандашных почеркушек. Впечатление что от твоего SSAO.

pozitiffcat 30.11.2014 20:39

Ответ: Melissa Project
 
Цитата:

Сообщение от Arton (Сообщение 289902)
Скриншоты приятные но везде присутствует шум, типо карандашных почеркушек. Впечатление что от твоего SSAO.

Имеено, так, я никак не могу реализовать адекватно.

Mr_F_ 30.11.2014 20:49

Ответ: Melissa Project
 
Обычно делают первый пасс шумный в отдельную текстуру, а дальше его блюрят с учётом глубины (чтобы ссао не выползало за границы или внутрь после блюра).

pozitiffcat 30.11.2014 20:57

Ответ: Melissa Project
 
Ну у меня и первый проход стремный получается

Mr_F_ 01.12.2014 00:29

Ответ: Melissa Project
 
Хз, вроде первый нормально выглядит. Убери бамп и собери более сложную сцену из нормальных моделей - тогда понятнее будет.
Есть ощущение, будто у тебя все лучи сдвинуты вбок - с одной стороны объекта АО темнее, с другой светлее.

pozitiffcat 01.12.2014 12:41

Ответ: Melissa Project
 
Короче все, что я сделал, тормозит на мобилке. На FPS влияют тени, сглаживание тени, SSAO также. И если рендерить без Deffered, то в разы шустрее. Короче не готовы пока мобилки к таким вычислениям.
А вот компу почти пофиг на ФПС, если поочереди отключпать фичи, у меня на GT240 от 240 до 300 фпс


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

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