Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: Facial Animation released (OpenGL / Half-Life 2)

  1. #1

    Facial Animation released (OpenGL / Half-Life 2)

    TDG3D Engine is now capable of loading VTA (vertex facial animation) and SMD-s from Half-Life 2 models. The demo example and the full source code provided.



    Download: http://www.igrodel.ru/tdg3d/tdg2008-9-24.rar (900kb)

  2. #2

    Facial Animation released (OpenGL / Half-Life 2)

    Thats very cool! I was workin on HL2/Doom3 animations myself for my engine, but never got very far.

    Good job!
    If you develop an idiot proof system, the nature develops better idiots.

  3. #3

    Facial Animation released (OpenGL / Half-Life 2)

    I second that! Very well done!

  4. #4

    Facial Animation released (OpenGL / Half-Life 2)

    Nice!

    My two notes:

    1. Right now I was only able to view it by wine emulator. (I'm sitting on Linux and FreePascal only.)

    So I wanted to compile and port your code to Linux+FPC, which should be easy as newest eXgine compiles fine under Linux+FPC... I used code from http://code.google.com/p/exgine/ (I don't speak Russion, so I couldn't understand anything from http://xproger.mirgames.ru, hopefully version on code.google is newest?).

    After some work I gave up --- looks like new eXgine changed a lot. Anyway, here's the patch: http://michalis.ii.uni.wroc.pl/~mich...mp/tdg3d.patch. It makes the example3 compile under Linux+FPC, but running it causes segfaults. This is most probably my inability to use newest eXgine, I'm not sure how I should run the program there (lack of English docs is pretty bad).

    Do you plan to port your tdg3d to newest eXgine? Let me know if yes, I can help with Linux porting/testing.

    2. I'm curious about your approach to collisions --- what is the "compressed Z-buffer cache"? Can anyone explain it shortly or point me to some article about it (googling didn't return anything useful on the 1st sight)? Thanks!

  5. #5

    BONE BUG FIXED

    BONE BUG FIXED: http://www.igrodel.ru/files/tdg2008-9-19bugfix.zip



    I'm curious about your approach to collisions --- what is the "compressed Z-buffer cache"? Can anyone explain it shortly or point me to some article about it (googling didn't return anything useful on the 1st sight)? Thanks!
    it's very easy technique, see mydepthcollision.pas to understand it.

    It consists of 3 stages:

    1. divide your 3d level on cubes
    2. make z-buffer photo from top of all cubes to 2D ARRAY
    3. when player goes to some cube, use 2D array to restore 3D heightmap of that place.

    Compression: check cubes with equal data, and make link to one cube.

  6. #6

    Facial Animation released (OpenGL / Half-Life 2)

    What about overlapping geometry and dynamic objects?
    If you develop an idiot proof system, the nature develops better idiots.

  7. #7

    Facial Animation released (OpenGL / Half-Life 2)

    Quote Originally Posted by vgo
    What about overlapping geometry and dynamic objects?
    actually all collision detection done in 2D space, now mydepthcollision creates 2d screenshot for each frame of skeletal animation - it is not done very well yet. You can check example1.exe - dancing man can kick wll with the leg and get some collision responce (move).

  8. #8

    Facial Animation released (OpenGL / Half-Life 2)

    Quote Originally Posted by michalis
    After some work I gave up --- looks like new eXgine changed a lot. Anyway, here's the patch: http://michalis.ii.uni.wroc.pl/~mich...mp/tdg3d.patch. It makes the example3 compile under Linux+FPC, but running it causes segfaults. This is most probably my inability to use newest eXgine, I'm not sure how I should run the program there (lack of English docs is pretty bad).
    was busy on work.
    I have an idea why this happens on FPC.
    Maybe it uses FPC-s "INTEGER" type, which is not delphi "INTEGER". FPCs integer equal to delphi's SHORTinteger (-32767..32767), so maybe overflow happens. :roll: Try replace integer by longinteger or set some define like "$delphi or something for delphi types compatiblity".

  9. #9

    Facial Animation released (OpenGL / Half-Life 2)

    Quote Originally Posted by Georgy
    was busy on work.
    I have an idea why this happens on FPC.
    Maybe it uses FPC-s "INTEGER" type, which is not delphi "INTEGER". FPCs integer equal to delphi's SHORTinteger (-32767..32767), so maybe overflow happens. :roll: Try replace integer by longinteger or set some define like "$delphi or something for delphi types compatiblity".
    I was compiling with -Mdelphi. (Not many people use the old FPC mode where Integer = ShortInt, this is an old heritage from Turbo Pascal compatibility. I always used $mode objfpc or $mode delphi.)

    Like said before, I suspect that segfaults are result of my lack of knowledge of newest eXgine. I had to use the newest version, to get Linux and FPC compatibility, but it was quite incompatible with the older version you used... Lack of (English) docs for eXgine forced me to do some "blind guesses" about how eXgine works (being too lazy to dig too deep into eXgine source), so it's pretty understandable that I got errors

    Once you port your code to the newest eXgine version, such that it works with whatever compiler and OS you like, I'm confident that I'll be able to fix/compile with Linux+FPC easily

  10. #10

    Facial Animation released (OpenGL / Half-Life 2)

    michalis, eXgine 1.0 (new eXgine started on 1.0 version) is still in development, and not compatible with older versions. When version has will be ready, i will write help and tutorials.

Page 1 of 2 12 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •