nuQuake - Hardware Accelerated Modern Quake

Discussion in 'Sega Dreamcast Development and Research' started by Mrneo240, Mar 8, 2019.

  1. jollyroger

    jollyroger Gutsy Member

    Joined:
    Oct 18, 2008
    Messages:
    458
    Likes Received:
    256
    I see, so no effective change to the rendering pipeline itself, only better optimization of the code to increase cache usage.
     
  2. jollyroger

    jollyroger Gutsy Member

    Joined:
    Oct 18, 2008
    Messages:
    458
    Likes Received:
    256
    Of course using deferred rendering complicates matters to avoid pipeline stalls, although one could be quite aggressive in preparing the surface cache way ahead of the camera visualizing them, one could speculate that using a decent PVR, the exact set of textures to be pre-blended could be known ahead of time, and the surface cache populated a bit through every frame.

    That way one wouldn't really be modifying many of the textures very often, as they could be stored in a surface cache and reused across frames. In fact it would be interesting to understand how much memory it would take to bake the entire atlas.

    I am not sure why one would need to double buffer the textures, given that the surface cache is technically read-only from a graphics pipeline perspective, unless the lightmaps are supposed to change dynamically.

    Of course the CPU (or GPU) overhead of baking textures dynamically would be very significant, the effect though would be dramatic, as in situations when the pre-baked textures are in all the surface cache, a single opaque pass is all that's necessary to render the scene, and the difference in terms of fill rate (and the total lack of transparent polygons) would probably be enormous...
     
  3. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    519
    Likes Received:
    624
    [​IMG]

    ok so the sky renders now with tapamn's method. but nothing else.
     
    SiZiOUS, Anthony817 and jollyroger like this.
  4. americandad

    americandad Familiar Face

    Joined:
    Jul 4, 2011
    Messages:
    1,445
    Likes Received:
    278
    Could this run the Half-Life Quake 1 port? Where someone backported the full HL1 game to the Q1 engine.
     
  5. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    519
    Likes Received:
    624
    Does it run on an unmodified quake engine?
     
  6. Anthony817

    Anthony817 Familiar Face

    Joined:
    May 12, 2010
    Messages:
    1,123
    Likes Received:
    596
    No, that is Xash3D. It is a fork of Quake, but made to run Half-Life GoldSource assets. Somebody is porting that to the original Xbox, and it struggles even on that machine to work with 64mb ram. The developer is looking into using virtual memory to even get it running on stock hardware softmodded systems. However on 128mb modded systems it runs fine.
     
    SiZiOUS and Mrneo240 like this.
  7. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,097
    Likes Received:
    1,045
    I'm pretty sure someone did "port" back hl1 to quake at some point. Basically a Quake Mod with HL1 assets and recompiled maps mabe?

    See here:

    Xash3D is mostly aimed at mobiles now. It's a nice way to turn some mods into standalone games though.
     
    LuizNai and Anthony817 like this.
  8. Anthony817

    Anthony817 Familiar Face

    Joined:
    May 12, 2010
    Messages:
    1,123
    Likes Received:
    596
    Oh yeah you are right! I had completely forgotten about that one! I tried it out on PSP so long ago I didn't even remember it existed. I thought that project is what eventually came to be known as Xash3D though?
     
  9. -=FamilyGuy=-

    -=FamilyGuy=- Site Supporter 2049

    Joined:
    Mar 3, 2007
    Messages:
    3,097
    Likes Received:
    1,045
    I don't know.

    If it's a heavy mod of the quake engine it might not work with nuQuake easily.
    If it's mainly remixed assets, then it'd probably be compatible AFAIU.

    EDIT:

    Additional info of someone running it in QuakeVR: https://www.reddit.com/r/virtualreality/comments/aw3pwy/halflife_on_the_gear_vr_quake_mod_running/
     
    Last edited: Apr 29, 2019
  10. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    519
    Likes Received:
    624
    to anyone wondering about unmodified hl1
    Code:
    Sound Initialization
    Sound sampling rate: 11025
    PackFile: /cd/data/id1/pak2.pak : sound/ambience/water1.wav
    PackFile: /cd/data/id1/pak3.pak : sound/ambience/wind2.wav
    CD Audio Start Init!
    CD Audio Initialized
    PackFile: /cd/data/id1/pak2.pak : sound/wizard/hit.wav
    PackFile: /cd/data/id1/pak2.pak : sound/hknight/hit.wav
    PackFile: /cd/data/id1/pak2.pak : sound/weapons/tink1.wav
    PackFile: /cd/data/id1/pak3.pak : sound/weapons/ric1.wav
    PackFile: /cd/data/id1/pak3.pak : sound/weapons/ric2.wav
    PackFile: /cd/data/id1/pak3.pak : sound/weapons/ric3.wav
    PackFile: /cd/data/id1/pak3.pak : sound/weapons/r_exp3.wav
    ========Quake Initialized=========
    PackFile: /cd/data/id1/pak3.pak : quake.rc
    execing quake.rc
    PackFile: /cd/data/id1/pak0.pak : default.cfg
    execing default.cfg
    FindFile: /cd/data/hl/config.cfg
    execing config.cfg
    Unknown command "in_autoyawrate"
    Unknown command "vid_window_y"
    Unknown command "vid_window_x"
    Unknown command "block_switch"
    Unknown command "vid_windowed_mode"
    Unknown command "vid_fullscreen_mode"
    Unknown command "_windowed_mouse"
    Unknown command "vid_stretch_by_2"
    Unknown command "vid_config_y"
    Unknown command "vid_config_x"
    Unknown command "_vid_default_mode_win"
    Unknown command "_vid_default_mode"
    Unknown command "_vid_wait_override"
    FindFile: /cd/data/hl/autoexec.cfg
    execing autoexec.cfg
    Unknown command "vid_mode"
    PackFile: /cd/data/id1/pak3.pak : gfx/qplaque.lmp
    PackFile: /cd/data/id1/pak3.pak : gfx/ttl_main.lmp
    PackFile: /cd/data/id1/pak3.pak : gfx/mainmenu.lmp
    PackFile: /cd/data/id1/pak0.pak : gfx/menudot4.lmp
    PackFile: /cd/data/id1/pak2.pak : sound/misc/menu2.wav
    PackFile: /cd/data/id1/pak0.pak : gfx/menudot5.lmp
    PackFile: /cd/data/id1/pak0.pak : gfx/menudot6.lmp
    PackFile: /cd/data/id1/pak0.pak : gfx/menudot1.lmp
    PackFile: /cd/data/id1/pak0.pak : gfx/menudot2.lmp
    PackFile: /cd/data/id1/pak0.pak : gfx/menudot3.lmp
    PackFile: /cd/data/id1/pak3.pak : gfx/ttl_sgl.lmp
    PackFile: /cd/data/id1/pak3.pak : gfx/sp_menu.lmp
    FindFile: /cd/data/hl/progs.dat
    PackFile: /cd/data/id1/pak3.pak : maps/start.bsp
    'chaptertitle' is not a field
    PackFile: /cd/data/id1/pak0.pak : progs/s_light.spr
    PackFile: /cd/data/id1/pak3.pak : progs/s_bubble.spr
    PackFile: /cd/data/id1/pak0.pak : progs/gib1.mdl
    PackFile: /cd/data/id1/pak0.pak : progs/gib2.mdl
    PackFile: /cd/data/id1/pak0.pak : progs/gib3.mdl
    PackFile: /cd/data/id1/pak3.pak : progs/dummy.spr
    PackFile: /cd/data/id1/pak2.pak : progs/laser.mdl
    FindFile: /cd/data/id1/progs/laserbig.mdl
    PackFile: /cd/data/id1/pak3.pak : progs/gauss.spr
    FindFile: /cd/data/id1/progs/fly.mdl
    FindFile: /cd/data/id1/progs/world/wrld_squeak.mdl
    FindFile: /cd/data/id1/progs/world/wrld_grenade.mdl
    PackFile: /cd/data/id1/pak3.pak : progs/gib_skull.mdl
    PackFile: /cd/data/id1/pak3.pak : progs/gib_lung.mdl
    PackFile: /cd/data/id1/pak3.pak : progs/gib_legbone.mdl
    PackFile: /cd/data/id1/pak3.pak : progs/gib_b_bone.mdl
    PackFile: /cd/data/id1/pak3.pak : progs/gib_b_gib.mdl
    PackFile: /cd/data/id1/pak0.pak : progs/player.mdl
    PackFile: /cd/data/id1/pak2.pak : progs/eyes.mdl
    PackFile: /cd/data/id1/pak0.pak : progs/h_player.mdl
    PackFile: /cd/data/id1/pak3.pak : sprites/explod2.spr
    PackFile: /cd/data/id1/pak3.pak : progs/v_axe.mdl
    PackFile: /cd/data/id1/pak0.pak : progs/v_shot.mdl
    PackFile: /cd/data/id1/pak0.pak : progs/v_nail.mdl
    PackFile: /cd/data/id1/pak3.pak : progs/v_shot2.mdl
    PackFile: /cd/data/id1/pak3.pak : progs/v_nail2.mdl
    FindFile: /cd/data/id1/progs/v_python.mdl
    Sys_Error: model progs/v_python.mdl has too many vertices
     
    SiZiOUS, jollyroger, pitito and 2 others like this.
  11. americandad

    americandad Familiar Face

    Joined:
    Jul 4, 2011
    Messages:
    1,445
    Likes Received:
    278
    That's what I was talking about, yes. Is that runnable?
     
  12. megavolt85

    megavolt85 Peppy Member

    Joined:
    Jan 8, 2015
    Messages:
    329
    Likes Received:
    482
    no
    Sys_Error: model progs/v_python.mdl has too many vertices
     
    americandad likes this.
  13. TapamN

    TapamN Active Member

    Joined:
    Sep 16, 2005
    Messages:
    32
    Likes Received:
    13
    Where did the performance improvements come from? It's a lot better.
     
  14. Mrneo240

    Mrneo240 Enthusiastic Member

    Joined:
    Sep 15, 2017
    Messages:
    519
    Likes Received:
    624
    Mainly model rendering changes, lighting rewrite and some smarter code in a couple places.
     
    fafadou likes this.

Share This Page