[Official] Technical Engine Development faq / blog

General discussions about X Rebirth.

Moderator: Moderators for English X Forum

User avatar
edqe
Posts: 73
Joined: Tue, 19. Nov 13, 15:30

Post by edqe » Thu, 12. Mar 15, 19:53

Heh. The Linux version is in absolutely great condition already :) Wasn't expecting this at all because of the warnings and Alpha status. Great work!

I need to learn a proper way to inform about the problems.
Last edited by edqe on Thu, 12. Mar 15, 20:27, edited 4 times in total.

User avatar
Terre
Moderator (English)
Moderator (English)
Posts: 10483
Joined: Mon, 19. Dec 05, 21:23
x4

Post by Terre » Thu, 12. Mar 15, 19:57

edqe wrote:I need to learn a proper way to inform about the problems.
Support thread. - http://forum.egosoft.com/viewtopic.php? ... 33#4504833

User avatar
Tamina
Moderator (Deutsch)
Moderator (Deutsch)
Posts: 4543
Joined: Sun, 26. Jan 14, 09:56

Post by Tamina » Thu, 12. Mar 15, 20:07

Can I run the Linux version on Windows?

Actual question, I do not have a powerful enough PC right now to try it out but it says that you can select the Linux branch in Steam... :)

Code: Select all

Und wenn ein Forenbösewicht, was Ungezogenes spricht, dann hol' ich meinen Kaktus und der sticht sticht sticht.
  /l、 
゙(゚、 。 7 
 l、゙ ~ヽ   / 
 じしf_, )ノ 

User avatar
edqe
Posts: 73
Joined: Tue, 19. Nov 13, 15:30

Post by edqe » Thu, 12. Mar 15, 20:20

Terre wrote:
edqe wrote:I need to learn a proper way to inform about the problems.
Support thread. - http://forum.egosoft.com/viewtopic.php? ... 33#4504833
Oh, thanks a lot :) - I thought there is some bug tracker/bugzilla somewhere.

timon37
EGOSOFT
EGOSOFT
Posts: 485
Joined: Fri, 14. Dec 12, 11:02
x4

Post by timon37 » Fri, 13. Mar 15, 10:11

Yes you actually can run the "linux" branch on windows.
On windows it's basically the same as the default one.
However when we do future updates there'll be a period of time when the default branch is "behind". So I'd suggest to not use it on windows.

User avatar
BigBANGtheory
Posts: 3167
Joined: Sun, 23. Oct 05, 12:13
x4

Post by BigBANGtheory » Fri, 13. Mar 15, 11:07

CBJ wrote:
xenoncore123 wrote:5) Would you consider doing some youtube tutorials on how you 3D model, Animate texture, Program, and sound/music creation because you do some beautiful scenery and Space 3D models and animation such as the new Xenon ships and the animation on the Stations and the programming of the economic system. By doing this you could make a ton of money from advertising the content and then spending that money on "office things" if you wish.
I rather doubt this would be a viable proposition for us, but we do occasionally produce "DevBlog"-type videos that might cover some of this ground.
I think many of us enjoyed the DevBlog videos prior to XR's release, totally worth doing again when the time comes.

tomtalk24
Posts: 9
Joined: Fri, 13. Jun 14, 03:00
x4

Post by tomtalk24 » Mon, 1. Feb 16, 23:50

This may have been asked, so sorry if it has.

OpenGL is an eye opener for me, but what about the Vulkan API? Could it bring any more to the table. Could this game benefit from the performance enhancements? Would you avoid it to make sure the game is playable to everyone.

p.s. great job with 4.0 :)

timon37
EGOSOFT
EGOSOFT
Posts: 485
Joined: Fri, 14. Dec 12, 11:02
x4

Post by timon37 » Tue, 2. Feb 16, 10:23

@tomtalk24
Well in short: yes, yes, yes, and yes;)

The longer answer is that of course you can never be sure until you try, also how much benefit you'd see depends on the hardware. But based on what I've seen and intuition I can guestimate this:

We'd benefit from just a straight drop-in equivalent to the opengl implementation, especially on amd drivers (both on linux and windows). Although it probably would require a bit more intelligent behaviour from us (currently the drivers do many tricks like buffer orphaning so we don't have to).
There're many improvements that vulkan would enable, ranging from relatively simple related to streaming, to complete redesigns of the renderer and shifting more work from the world-move to it.

We do take the steam hardware survey into account when making decisions about what we consider to be necessary to support (or at least I do;p). This is purely a balancing question, how much benefit for whom vs how many legacy systems are incompatible vs how much development effort.
The universal answer is we're willing to sacrifice some, we won't sacrifice much, but unfortunately dev-time is usually the largest constraint.
So frankly the most likely implementation is side-by-side with opengl so we could ship two binaries, at least for a while.

SolidSnakeRUS
Posts: 270
Joined: Mon, 2. Aug 04, 13:59
x4

Post by SolidSnakeRUS » Tue, 2. Feb 16, 10:30

Detailed answer, thx)

bambikaka
Posts: 153
Joined: Sat, 26. Dec 15, 13:24

Post by bambikaka » Thu, 4. Feb 16, 00:11

could you give a little overview of your culling? aka what methods you use on which PU to get the final view from the full scene. thanks in advance

CBJ
EGOSOFT
EGOSOFT
Posts: 51740
Joined: Tue, 29. Apr 03, 00:56
x4

Post by CBJ » Thu, 4. Feb 16, 14:28

Because our game is somewhat unusual and models the entire game universe rather than just the part the player is in, we start with "gamegraph culling" which excludes objects that are not in a part of the galaxy that is visible to the player. Next we do frustum culling, which uses two frustums, one for the camera and one for the primary light source (usually the sun) so that shadows can be correctly handled. At this point we also do LOD culling, which ensures that objects that are too far away and/or too small to be rendered get ignored. All of these are hierarchical, so that if we cull an object, we also cull all the smaller things attached to that object. All of these happen early on during the CPU part of the rendering process.

Later on we use pretty standard methods of depth-based per-pixel occlusion culling and backface culling, most of which happens on the GPU. These are helped by making some sensible choices beforehand, for example processing the cockpit interior geometry first so that anything hidden by that will quickly be culled.

bambikaka
Posts: 153
Joined: Sat, 26. Dec 15, 13:24

Post by bambikaka » Fri, 5. Feb 16, 01:27

thanks for quick answer. when on station, are you using portal culling? i mean rendering only roomblocks (like the room you are in and the neighbouring rooms) or the entire station and the invisible bits getting culled on the gpu?

which per-pixel methods do you use? you say "most of which happens on the GPU". does it mean you use occlusion queries?

User avatar
-Skipp-
Posts: 94
Joined: Tue, 7. Oct 14, 10:18
x4

Post by -Skipp- » Fri, 5. Feb 16, 09:16

bambikaka wrote:thanks for quick answer. when on station, are you using portal culling? i mean rendering only roomblocks (like the room you are in and the neighbouring rooms) or the entire station and the invisible bits getting culled on the gpu?

which per-pixel methods do you use? you say "most of which happens on the GPU". does it mean you use occlusion queries?
Well - judging by the funny bug that used to occur back in 1.x-2.0 if I recall - you would just glide off the ship through the walls of the station once you dock. When that happened - you could actually see the whole station.

That might got changed later though :D

User avatar
Spami
Posts: 468
Joined: Sun, 1. Jun 08, 21:32
x4

Post by Spami » Mon, 8. Feb 16, 01:08

(Question is "mostly" headed at the rendering part of your engine but not exclusively)

Do you keep developing your engine and if yes, has it developed further already then what we can see in XR right now or was the engine developing hand in hand with XR and now your new upcoming game?

May I ask what your "technical" plans for the future are? What do you want to have implemented or need to have implemented for your next game?
I am pointing in the direction of books like GPU gems from NVidida or other game studios often publish articles about different techniques they implemented, as well.
Your engine for example can't render station interiors very well: small, large frametime and lack of windows for obvious reasons.
Spami

Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning.
- Albert Einstein

bambikaka
Posts: 153
Joined: Sat, 26. Dec 15, 13:24

Post by bambikaka » Wed, 10. Feb 16, 02:10

-Skipp- wrote:
bambikaka wrote:thanks for quick answer. when on station, are you using portal culling? i mean rendering only roomblocks (like the room you are in and the neighbouring rooms) or the entire station and the invisible bits getting culled on the gpu?

which per-pixel methods do you use? you say "most of which happens on the GPU". does it mean you use occlusion queries?
Well - judging by the funny bug that used to occur back in 1.x-2.0 if I recall - you would just glide off the ship through the walls of the station once you dock. When that happened - you could actually see the whole station.

That might got changed later though :D
really? never encountered that. now thats a serious concern :lol:

Blz
Posts: 3
Joined: Thu, 1. Oct 20, 16:36

Re: [Official] Technical Engine Development faq / blog

Post by Blz » Thu, 1. Oct 20, 16:49

Hello everyone,
Question is:
Is X:Rebirth written on OpenGL?
wanna do "injectSMAA" (or similar soft) but that stuff is for d3d games
Any recommendations on how to enable SMAA in X:R (native FXAA is too blurry)?

Blz
Posts: 3
Joined: Thu, 1. Oct 20, 16:36

Re: [Official] Technical Engine Development faq / blog

Post by Blz » Thu, 1. Oct 20, 19:37

Done. Used ReShade

CBJ
EGOSOFT
EGOSOFT
Posts: 51740
Joined: Tue, 29. Apr 03, 00:56
x4

Re: [Official] Technical Engine Development faq / blog

Post by CBJ » Fri, 2. Oct 20, 14:23

Blz wrote:
Thu, 1. Oct 20, 16:49
Is X:Rebirth written on OpenGL?
Just to answer this anyway:

X Rebirth for Windows uses DirectX 9.
X Rebirth for Linux/Mac uses OpenGL.
X Rebirth VR Edition uses Vulkan.

Blz
Posts: 3
Joined: Thu, 1. Oct 20, 16:36

Re: [Official] Technical Engine Development faq / blog

Post by Blz » Thu, 8. Oct 20, 11:54

CBJ wrote:
Fri, 2. Oct 20, 14:23
Blz wrote:
Thu, 1. Oct 20, 16:49
Is X:Rebirth written on OpenGL?
Just to answer this anyway:

X Rebirth for Windows uses DirectX 9.
X Rebirth for Linux/Mac uses OpenGL.
X Rebirth VR Edition uses Vulkan.
Thank's a lot, 'cause I was tweaking OpenGL version of shaders for few days and started to get suspicious why there is no gui (from RS not game itself)! ;)
...On Win7...

Post Reply

Return to “X Rebirth Universe”