Utilizator:
Parola:
Am uitat parola... | Cont nou!


Articole Resurse Echipe Competiții Proiecte Forum DevBlogs Locuri de muncă GDROMag Issue#1 GDROCon 2007

 
Forum » Programare » Fizică » Dar ce ziceti de un engine fizic propriu?




Pagina 1 din 1 [ 1 ]

Mesaj Info autor
    Postat la 12 May 2007 09:51:25    Subiect: Dar ce ziceti de un engine fizic propriu?
Black_Knight info:

Black_Knight:

Pareri, greutati ce le puteti intampina etc. Requirements Wink (mate etc)
Mie mi se pare o idee buna, cel putin in scopuri didactice Wink


Status:
Înregistrat pe:
07 May 2007 19:49:43
Vârsta: 29 ani
Mesaje: 712
Locatie: Bucuresti
Programator

 
    Postat la 12 May 2007 14:04:56    Subiect: < fara subiect >
SpOOky info:

SpOOky:

eu zic ca iti trebuie un bagaj baban d cunostinte in fizica si mate.
dar dc sa scrii tu una cand sunt atatea p net sub lgpl?

oricum, mi`ar place sa vad un lib d fizica autohton Wink


Status:
Înregistrat pe:
24 Mar 2007 20:48:46
Vârsta: 24 ani
Mesaje: 878
Locatie: Bucuresti
Modelator 3D
elohimSoft
 
    Postat la 12 May 2007 14:38:16    Subiect: < fara subiect >
nekitu info:

nekitu:

Am avut o astfel de idee mai demult, vroiam sa fac un OpenPL (Open Physics Library), ODE e cel mai apropiat de ceea ce vroiam eu insa e cam incalcit la unele chestii, plus ca OpenPL asta ar fi fost un fel de wrapper precum OPAL, pentru mai multe libs de fizica, insa ar fi fost strict ca un state-machine OpenGL.
Exemplu:
Cod sursă:


void main ()
{
    PLuint sfera = plCreateBody( PL_BODY_TYPE_SPHERE );
    plSetValuef( sfera, PL_SPHERE_PARAM_RADIUS, 100.0f );
    PLuint jointul = plCreateJoint( PL_JOINT_TYPE_HINGE );
    //..............
    plSetGlobalValuef( PL_GLOBAL_PARAM_GRAVITY, 0, -1, 0, 9.8f );
    plApplyForce( sfera, 10, 0, 10, 100.0f );
    plSimulate( 0.2f /*step size*/ );
    // apoi cand iti desenezi meshul asociat sferei fizice
    float pos[3];
    float rot[4];
    float worldMtx[16];
    plGetValuefv( sfera, PL_BODY_TRANSLATION, pos );
    plGetValuefv( sfera, PL_BODY_ROTATION, rot /*quat: xyzw*/ );
    plGetValuefv( sfera, PL_BODY_WORLD_MATRIX, worldMtx );

    //....... render mesh with that transform .........
}
 


Eh si uite-asa ai generic physics lib cu tot ce iti trebuie luat de prin toate celelalte libs de fizica, un simplu wrapper pt physics libs. ODE, Newton, Bullet, Havok (?), PhysX sa fie un fel de ICD-uri ca in OpenGL.

OPAL e misto si el, insa e C++ classes, nu e rau, dar ar fi nice un state machine simplu cum e OpenGL, call-uri simple si rapide.

Asta era atunci, cand nu era nici un OpenPL, se pare ca au facut-o altii inaintea mea Smile: http://www.openpl.net/ dar vad ca nu e f activ
Maybe... sometime Smile

Ultima editare efectuată de nekitu pe 12 May 2007 14:40:52; 1 editări în total

SpoOoOoock! Life Is Too Short For Cheap Chocolate


Status:
Înregistrat pe:
29 Sep 2006 11:33:12
Vârsta: 32 ani
Mesaje: 1033
Locatie: Brasov
Programator
7thFACTOR Entertainment Studios
 
    Postat la 12 May 2007 22:55:37    Subiect: < fara subiect >
c0mas info:

c0mas:

Noi folosim engine de fizica dezvoltat intern Wink

Do what you love, money will follow!


Status:
Înregistrat pe:
19 Apr 2007 13:41:50
Vârsta: 35 ani
Mesaje: 337
Locatie: Bucuresti
Programator
Dream Builder Studios
 
    Postat la 14 May 2007 13:11:34    Subiect: Re:
Black_Knight info:

Black_Knight:

c0mas a scris:

Noi folosim engine de fizica dezvoltat intern Wink
pai si cum? e cum a fost pana lati construit etc?


Status:
Înregistrat pe:
07 May 2007 19:49:43
Vârsta: 29 ani
Mesaje: 712
Locatie: Bucuresti
Programator

 
    Postat la 15 May 2007 01:59:24    Subiect: < fara subiect >
c0mas info:

c0mas:

Pai Smile a fost construit exact pentru necesitatile noastre, adica fizica pentru un simulator spatial.

Faptul ca jocul era un simulator spatial a avut si plusuri si minusuri, de exemplu, ca plus, nu a trebuit sa ne facem probleme cu systeme in care sunt foarte multe obiecte in contact, si deci solvul s-a siplificat putin, iar ca minus, vitezele cu care se misca obiectele sunt foarte mari, ceea ce ne-a fortat sa iplementam o metoda continua (spre deosebire de majoritatea enginurilor care folosesc metode discrete).

Oricum, nu pot sa zic ca a fost foarte greu, ... practic au fost doua mari submodule (ca de altfel la majoritatea enginurilor de fizica) unul de detectat colisiuni si unul de integrare si binenteles cu restul codului de management de pe langa ele.

In concluzie, ... ce sa zic, ... pana acuma a functionat exact asa cum ne asteptam de la el ... nici mai ult, nici mai putin Smile, dar o sa vedem cum se comporta prima data cand va fi folosit la alceva.

Do what you love, money will follow!


Status:
Înregistrat pe:
19 Apr 2007 13:41:50
Vârsta: 35 ani
Mesaje: 337
Locatie: Bucuresti
Programator
Dream Builder Studios
 
    Postat la 16 May 2007 23:22:56    Subiect: < fara subiect >
Black_Knight info:

Black_Knight:

hmmmmmmmmm suna incurajator Very HappyVery HappyVery Happy 10x pt feedback


Status:
Înregistrat pe:
07 May 2007 19:49:43
Vârsta: 29 ani
Mesaje: 712
Locatie: Bucuresti
Programator

 
    Postat la 17 May 2007 00:41:07    Subiect: < fara subiect >
c0mas info:

c0mas:

Cu placere

Do what you love, money will follow!


Status:
Înregistrat pe:
19 Apr 2007 13:41:50
Vârsta: 35 ani
Mesaje: 337
Locatie: Bucuresti
Programator
Dream Builder Studios
 

Pagina 1 din 1 [ 1 ]


Server time: 03:11:20 23.05.2012



[ Termeni si conditii | Contact | F.A.Q. | Funny Pictures ]

© 2006 - 2012 Copyright 7thFACTOR Entertainment - All rights reserved