Author Topic: go_prettier_and_faster  (Read 4754 times)

0 Members and 1 Guest are viewing this topic.

Offline Swifty

  • 210
  • I reject your fantasy & substitute my own
go_prettier_and_faster
I've doing a bunch of performance optimizations this past two months in order to prepare shadows and deferred lighting going into trunk.

  • Particles and trails can now be rendered with geometry shaders.
  • Rewrote and restructured model rendering code to be much more flexible and extendable.
  • Better state sorting.
  • Implemented a uniform management system to reduce the number of calls to OpenGL.
  • Replaced the std::vector texture batches with std::map.

I've seen some dramatic improvements with this build. Certain scenes that were originally 50 FPS have jumped to around 80 FPS on my machine. Your mileage may vary.

Beware, the code is really ugly and I have yet to clean it up so it's actually commit worthy. This is also based off an old commit off of trunk, 9613. That's also something I need to do, get this branch up to sync with trunk.

Mah github branch: https://github.com/SamuelCho/Freespace-Open-Swifty/tree/shader_transform_deferred

http://www.mediafire.com/download/81ph255r6ncfi9f/go_prettier_and_faster.zip

 

Offline Spoon

  • 212
  • ヾ(´︶`♡)ノ
I wub you Swifty, please bear some of my childeren.
Urutorahappī!!

[02:42] <@Axem> spoon somethings wrong
[02:42] <@Axem> critically wrong
[02:42] <@Axem> im happy with these missions now
[02:44] <@Axem> well
[02:44] <@Axem> with 2 of them

 

Offline The E

  • He's Ebeneezer Goode
  • Moderator
  • 213
  • Nothing personal, just tech support.
    • Steam
    • Twitter
There are a few bugs in here, at least on my end (and they very well could be driver errors!):

1. Clipping planes don't.
2. Blinking glowpoints aren't.

Not quite sure why either of those are problematic here; both worked fine (to a degree) on Valathil's deferred render code.
If I'm just aching this can't go on
I came from chasing dreams to feel alone
There must be changes, miss to feel strong
I really need lifе to touch me
--Evergrey, Where August Mourns

 

Offline Luis Dias

  • 211
omg omg omg this is brilliant news! When Swifty grabs something in order to optimize it, I get too excited :D

 

Offline Swifty

  • 210
  • I reject your fantasy & substitute my own
There are a few bugs in here, at least on my end (and they very well could be driver errors!):

1. Clipping planes don't.
2. Blinking glowpoints aren't.

Not quite sure why either of those are problematic here; both worked fine (to a degree) on Valathil's deferred render code.

Yeah, it's not like I didn't rewrite the model rendering code or something. :P

 

Offline Dragon

  • Citation needed
  • 212
  • The sky is the limit.
This looks lovely. :) I really like your performance improvements, and now you're prettying stuff up, too. :)

 

Offline Swifty

  • 210
  • I reject your fantasy & substitute my own
So has anyone tested if this performance improvement is consistent and real? I just want some confirmation to see if I'm barking up the right tree.

 

Offline Echelon9

  • Moderator
  • 210
I'm going to give it a shot on Mac this weekend.

 

Offline Swifty

  • 210
  • I reject your fantasy & substitute my own
Does deferred rendering and shadows work on Macs though? I forgot.

 

Offline Kobrar44

  • On Suspended Sentence
  • 29
  • Let me tilerape it for you!
    • Steam


Performance improvement IS. Maybe not big but its there. I guess its around 13% since its like 26/23 or 8/7 ratio between the builds.
Oh guys, use that [ url ][ img ][ /img ][ /url ] :/

 

Offline Echelon9

  • Moderator
  • 210
Does deferred rendering and shadows work on Macs though? I forgot.

It doesn't at present when using an OpenGL 2.x context. But in my local branch I have rudimentary SDL 2.0 support, which allows Macs to setup an OpenGL 3.2 Core Context.

Code: [Select]
Initializing OpenGL graphics device at 1440x800 with 32-bit color...
  Initializing SDL...
  Requested SDL Video values = R: 8, G: 8, B: 8, depth: 24, stencil: 8, double-buffer: 1, FSAA: 0
  Actual SDL Video values    = R: 0, G: 0, B: 0, depth: 0, stencil: 0, double-buffer: 1, FSAA: 0
  OpenGL Vendor    : NVIDIA Corporation
  OpenGL Renderer  : NVIDIA GeForce 9600M GT OpenGL Engine
  OpenGL Version   : 3.2 NVIDIA-8.16.74 310.40.00.10f02

  Unable to find extension "GL_EXT_fog_coord".
  Unable to find extension "GL_ARB_multitexture".
  ....

 

Offline Skarab

  • 26
Re: go_prettier_and_faster
Bumping because I am curious if there are any shadow builds floating around based on the newer builds, particularly ones that support the just-released 2014 MediaVP's.  Shadows have been a quiet subject for awhile now. Has this feature been put on the back burner for the time being or is it still being hammered away at behind the scenes?

 

Offline Luis Dias

  • 211
Re: go_prettier_and_faster
Try the december Blue Planet builds by The_E. I haven't tested if they work with mediavps 2014.