{{notification.text}}

MirGames

27.11.08 02:02
0
Вроде бы сделал бамп. Хотелось бы знать, он так и должен выглядеть? (: Может я чего напутал. Ну и вдруг у кого не заработает, скажите.

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

PS коллизии пока глючные, никак руки не дойдут до них
PPS для куба и шара освещение не ослабевает с расстоянием
ЗЫ W A S D Мышь
ЗЫЫ Ну и вообще, как смотрится? Нормально или ацтой? (:
Отредактировано: 27.11.08 02:59
#1
Один из первых
27.11.08 15:51
0
=(
Код
[------0] "eXgine 0.80" log start
[------2] Network : Initialized
[------0] Network : Description : WinSock 2.0
[------0] Network : MaxSockets  : 32767
[------0] Network : MaxSize UDP : 65467
[------0] Input   : Keyboard ready
[------0] Input   : Mouse    ready
[-----11] Input   : Joystick not ready
[-----46] Window  : Create main window
[-----34] OpenGL  : Init graphics core
[-----20] OpenGL  : GL_VENDOR   : Intel
[------5] OpenGL  : GL_RENDERER : Intel 945G
[------8] OpenGL  : GL_VERSION  : 1.4.0 - Build 7.14.10.4906
[------9] OpenGL  : MAX_TEX_UNITS  : 8
[------7] OpenGL  : MAX_TEX_SIZE   : 2048
[------9] OpenGL  : MAX_ANISOTROPY : 4
[------8] OpenGL  : USE_AA_SAMPLES : 0
[------9] OpenGL  : Reading extensions
[-----36] OpenGL  : - WGL_EXT_swap_control
[-----22] OpenGL  : + GL_ARB_multitexture
[-----28] OpenGL  : - GL_EXT_framebuffer_object
[-----22] OpenGL  : - GL_ARB_shading_language
[-----27] OpenGL  : + GL_ARB_vertex_buffer_object
#2
27.11.08 15:54
0
Daddy
Думаю, если драйвера обновить, должно заработать
UPD: правда не знаю, умеет ли твоя видюха шейдеры
Отредактировано: 27.11.08 15:58
#3
27.11.08 17:09
0
Код
[------0] "eXgine 0.80" log start
[-----10] Network : Initialized
[------0] Network : Description : WinSock 2.0
[------0] Network : MaxSockets  : 32767
[------0] Network : MaxSize UDP : 65467
[------0] Input   : Keyboard ready
[------0] Input   : Mouse    ready
[-----32] Input   : Joystick not ready
[--19196] Window  : Create main window
[-----24] OpenGL  : Init graphics core
[-----24] OpenGL  : GL_VENDOR   : NVIDIA Corporation
[-----16] OpenGL  : GL_RENDERER : GeForce FX 5200/AGP/SSE2
[-----34] OpenGL  : GL_VERSION  : 1.5.1
[-----16] OpenGL  : MAX_TEX_UNITS  : 4
[-----17] OpenGL  : MAX_TEX_SIZE   : 4096
[-----16] OpenGL  : MAX_ANISOTROPY : 8
[-----17] OpenGL  : USE_AA_SAMPLES : 8
[-----26] OpenGL  : Reading extensions
[-----16] OpenGL  : + WGL_EXT_swap_control
[-----16] OpenGL  : + GL_ARB_multitexture
[-----17] OpenGL  : - GL_EXT_framebuffer_object
[-----17] OpenGL  : + GL_ARB_shading_language
[-----17] OpenGL  : + GL_ARB_vertex_buffer_object
[-----43] Texture : Create #2    *Font_FixedSys_0*
[----118] Sound   : DirectSound Initialized
[-----13] Sound   : Can't initialize Ogg Vorbis
[-----41] Texture : Error Loading "DATA\Textures\console.jpg"
[----264] Shader  : Compile #1
[----150] Shader  : Compile #4
[----150] Shader  : Compile #7
[-----97] Shader  : Compile #10
[-----15] 1288
[-----17] 43
[-----37] Texture : Loaded #3    images\wall_bump.tga
[-----16] Texture : Loaded #4    images\block.bmp
[-----13] 12
[-----24] Texture : Loaded #5    images\normalmap.tga
[-----56] Texture : Loaded #6    images\asd.jpg
[-----30] 12
[-----15] 12
[-----17] 960
[-----18] 24
[-----15] Engine  : Main Loop start
[-----21] Engine  : Error in ProcRender
[-----26] Engine  : Error in ProcRender
[-----21] Engine  : Error in ProcRender
[----257] Engine  : Error in ProcRender
[----270] Engine  : Error in ProcRender
[----264] Engine  : Error in ProcRender
[----263] Engine  : Error in ProcRender
[----263] Engine  : Error in ProcRender
[----288] Engine  : Error in ProcRender
[----276] Engine  : Error in ProcRender
[----280] Engine  : Error in ProcRender
[----274] Engine  : Error in ProcRender
[----279] Engine  : Error in ProcRender
[----280] Engine  : Error in ProcRender
[----275] Engine  : Error in ProcRender
[----285] Engine  : Error in ProcRender
[----288] Engine  : Error in ProcRender
[----284] Engine  : Error in ProcRender
[----292] Engine  : Error in ProcRender
[----317] Engine  : Error in ProcRender
[----326] Engine  : Error in ProcRender
[----343] Engine  : Error in ProcRender
[----333] Engine  : Error in ProcRender
[----319] Engine  : Error in ProcRender
[----322] Engine  : Error in ProcRender
[----316] Engine  : Error in ProcRender
[----310] Engine  : Error in ProcRender
[----298] Engine  : Error in ProcRender
[----290] Engine  : Error in ProcRender
[----293] Engine  : Main Loop stop
[-----14] Texture : Unload #2    *Font_FixedSys_0*
[-----16] Texture : Unload #6    images\asd.jpg
[-----17] Texture : Unload #5    images\normalmap.tga
[-----17] Texture : Unload #4    images\block.bmp
[----229] Texture : Unload #3    images\wall_bump.tga
[-----50] Window  : Destroy main window
[-----37] "eXgine 0.80" log close
#4
27.11.08 18:10
0
Работаит гуд :)
Цитата
[------0] "eXgine 0.80" log start
[-----21] Network : Initialized
[------0] Network : Description : WinSock 2.0
[------0] Network : MaxSockets : 32767
[------0] Network : MaxSize UDP : 65467
[------0] Input : Keyboard ready
[------0] Input : Mouse ready
[-----28] Input : Joystick not ready
[----467] Window : Create main window
[------2] OpenGL : Init graphics core
[-----16] OpenGL : GL_VENDOR : NVIDIA Corporation
[------0] OpenGL : GL_RENDERER : GeForce 8800 GTS/PCI/SSE2
[------1] OpenGL : GL_VERSION : 2.1.2
[------0] OpenGL : MAX_TEX_UNITS : 4
[------0] OpenGL : MAX_TEX_SIZE : 8192
[------1] OpenGL : MAX_ANISOTROPY : 16
[------0] OpenGL : USE_AA_SAMPLES : 8
[------1] OpenGL : Reading extensions
[------0] OpenGL : + WGL_EXT_swap_control
[------2] OpenGL : + GL_ARB_multitexture
[------0] OpenGL : + GL_EXT_framebuffer_object
[------1] OpenGL : + GL_ARB_shading_language
[------0] OpenGL : + GL_ARB_vertex_buffer_object
[-----32] Texture : Create #2 *Font_FixedSys_0*
[-----46] Sound : DirectSound Initialized
[------1] Sound : Can't initialize Ogg Vorbis
[-----45] Texture : Error Loading "DATA\Textures\console.jpg"
[-----96] Shader : Compile #1
[-----14] Shader : Compile #4
[-----17] Shader : Compile #7
[------7] Shader : Compile #10
[------2] 1288
[------1] 43
[------3] Texture : Loaded #3 images\wall_bump.tga
[-----19] Texture : Loaded #4 images\block.bmp
[------1] 12
[------6] Texture : Loaded #5 images\normalmap.tga
[-----44] Texture : Loaded #6 images\asd.jpg
[------1] 12
[------0] 12
[------1] 960
[------1] 24
[------1] Engine : Main Loop start
[--57520] Engine : Main Loop stop
[------1] Texture : Unload #2 *Font_FixedSys_0*
[------1] Texture : Unload #6 images\asd.jpg
[------1] Texture : Unload #5 images\normalmap.tga
[------0] Texture : Unload #4 images\block.bmp
[------1] Texture : Unload #3 images\wall_bump.tga
[------6] Window : Destroy main window
[------0] "eXgine 0.80" log close

#5
27.11.08 18:29
0
tormozit
Странно, вроде должно работать. На экране вообще видно что-то? (:
Gluk
Гут)
#6
27.11.08 18:34
0
Цитата
[------0] "eXgine 0.80" log start
[-----70] Network : Initialized
[------0] Network : Description : WinSock 2.0
[------0] Network : MaxSockets : 32767
[------0] Network : MaxSize UDP : 65467
[------0] Input : Keyboard ready
[------0] Input : Mouse ready
[-----36] Input : Joystick not ready
[----922] Window : Create main window
[-----15] OpenGL : Init graphics core
[-----31] OpenGL : GL_VENDOR : NVIDIA Corporation
[-----11] OpenGL : GL_RENDERER : GeForce 7600 GT/PCI/SSE2
[------3] OpenGL : GL_VERSION : 2.1.2
[------8] OpenGL : MAX_TEX_UNITS : 4
[------8] OpenGL : MAX_TEX_SIZE : 4096
[------9] OpenGL : MAX_ANISOTROPY : 16
[------8] OpenGL : USE_AA_SAMPLES : 8
[------8] OpenGL : Reading extensions
[-----17] OpenGL : + WGL_EXT_swap_control
[-----17] OpenGL : + GL_ARB_multitexture
[-----16] OpenGL : + GL_EXT_framebuffer_object
[-----17] OpenGL : + GL_ARB_shading_language
[-----17] OpenGL : + GL_ARB_vertex_buffer_object
[-----43] Texture : Create #2 *Font_FixedSys_0*
[----265] Sound : DirectSound Initialized
[-----16] Sound : Can't initialize Ogg Vorbis
[-----54] Texture : Error Loading "DATA\Textures\console.jpg"
[----240] Shader : Compile #1
[-----51] Shader : Compile #4
[-----39] Shader : Compile #7
[-----31] Shader : Compile #10
[-----29] 1288
[-----15] 43
[-----20] Texture : Loaded #3 images\wall_bump.tga
[-----32] Texture : Loaded #4 images\block.bmp
[-----22] 12
[-----47] Texture : Loaded #5 images\normalmap.tga
[-----65] Texture : Loaded #6 images\asd.jpg
[-----22] 12
[-----16] 12
[-----17] 960
[-----18] 24
[-----15] Engine : Main Loop start
[--84400] Engine : Main Loop stop
[-----17] Texture : Unload #2 *Font_FixedSys_0*
[-----17] Texture : Unload #6 images\asd.jpg
[-----17] Texture : Unload #5 images\normalmap.tga
[-----16] Texture : Unload #4 images\block.bmp
[-----25] Texture : Unload #3 images\wall_bump.tga
[-----39] Window : Destroy main window
[-----19] "eXgine 0.80" log close

Выглядит нормально, кроме сферы.
#7
27.11.08 18:38
0
sHaDe
А что именно со сферой?
#8
27.11.08 18:53
0
division
Как ты писал, полоски вертикальные.
#9
27.11.08 18:59
0
sHaDe
С этим будем бороться, главное что работает)
PS если кто знает ответ на вопрос из первого поста, прошу поделиться
Отредактировано: 27.11.08 18:59
#10
27.11.08 19:16
0
division
Я не считал базис так как говорит Боресков, но таких полосок на сфере у меня точно не было.
#11
27.11.08 19:25
0
Вообще если просто брать среднее значени для всех треугольников, к которым принадлежит вершина, будет по идее нормально выглядеть сфера. Но куб нет. То есть нужно группы сглаживания учесть. А как ты считал?
Отредактировано: 27.11.08 19:25
#12
27.11.08 19:32
0
Цитата
Странно, вроде должно работать. На экране вообще видно что-то? (:


#13
27.11.08 19:38
0
tormozit
Действительно странно. Понятия не имею с чем это я завтыкал.
#14
27.11.08 19:47
0
Цитата
А как ты считал?

Очень не уверен, что код рабочий:)
Код

void CalculateTBN(Vector3 &t, Vector3 &b, Vector3 p0, Vector3 p1, Vector3 p2, Vector2 t0, Vector2 t1, Vector2 t2, Vector3 n)
{
    Vector3 position[3];
    Vector2 texcoords[3];

    Vector3 tangent;
    Vector3 binormal;
    Vector3 normal;

    normal = n;
    position[0] = p0;
    position[1] = p1;
    position[2] = p2;

    texcoords[0] = t0;
    texcoords[1] = t1;
    texcoords[2] = t2;

    Vector3 e0(position[1].x - position[0].x,
        texcoords[1].x - texcoords[0].x,
        texcoords[1].y - texcoords[0].y);
    Vector3 e1(position[2].x - position[0].x,
        texcoords[2].x - texcoords[0].x,
        texcoords[2].y - texcoords[0].y);

    Vector3 cp;
    cp.CrossProduct(e0, e1);

    if (fabs(cp.x) > EPSILON)
    {
        tangent.x = -cp.y / cp.x;
        binormal.x = -cp.z / cp.x;
    }
    else
    {
        tangent.x = 0;
        binormal.x = 0;
    }

    e0.x = position[1].y - position[0].y;
    e1.x = position[2].y - position[0].y;
    cp.CrossProduct(e0, e1);

    if (fabs(cp.x) > EPSILON)
    {
        tangent.y = -cp.y / cp.x;
        binormal.y = -cp.z / cp.x;
    }
    else
    {
        tangent.y = 0;
        binormal.y = 0;
    }

    e0.x = position[1].z - position[0].z;
    e1.x = position[2].z - position[0].z;
    cp.CrossProduct(e0, e1);

    if (fabs(cp.x) > EPSILON)
    {
        tangent.z = -cp.y / cp.x;
        binormal.z = -cp.z / cp.x;
    }
    else
    {
        tangent.z = 0;
        binormal.z = 0;
    }

    Vector3 temp = Vector3(tangent.y * binormal.z - tangent.z * binormal.y,
        tangent.z * binormal.x - tangent.x * binormal.z,
        tangent.x * binormal.y - tangent.y * binormal.x);

    float scalar = normal.x * temp.x + normal.y * temp.y + normal.z * temp.z;
    if (scalar < 0) tangent = -tangent;

    t = tangent;
    b = binormal;
}
#15
27.11.08 19:48
0
Radeon X1950Pro/Catalyst 8.10 - все норм
GeForce 6100 Go - все норм, правда 5 FPS.
#16
27.11.08 19:50
0
sHaDe
Я не совсем это имел в виду. Меня интересует не само нахождение базиса по трём вершинам и текстурным координатам, а как всё это дело сгладить.
Цитата
GeForce 6100 Go - все норм, правда 5 FPS.

У меня на 6100 тоже было около 8 FPS. Надо бы как-то соптимизировать.
Отредактировано: 27.11.08 19:53
#17
27.11.08 20:06
0
division
Цитата
а как всё это дело сгладить.

Ну тогда мой ответ, я не сглаживал:)
#18
27.11.08 21:07
0
Кстати без шейдеров все как у дедди
#19
27.11.08 22:36
0
Хм, tormozit, версия 1.5.1. Понятно, что не будет работать ;)
#20
27.11.08 23:28
0
Не ну выглядит не плохо, правдо не освещённая часть куба выглядит оч фигово.
И колизии поправь бо вот чё получилось )))

#{{post.Index}}
{{post.Author.Login}}
{{post.CreatedDate | date:'dd.MM.yy HH:mm'}}
{{post.VotesRating}}
Отредактировано: {{post.UpdatedDate | date:'dd.MM.yy HH:mm'}}