From Neos Wiki
Jump to navigation Jump to search

Geenz Office Hours Topic: Graphics Date: 2021/06/10

Office hours notes compiled by Canadian Git

Attendance Peak: 40~


A recording can be found here


3x1t_5tyl3 2021-06-10 at 21:04

First of all thank you for doing this! This has been amazing so far with Veer and Prime. This is a ton of really good info for all of us.

Q: Given the upcoming change to the colorspace. How is that gonna affect the entire render engine and what can we expect after the colorspace change?

  • Colour management and its effects
    • Linear lighting, or gamma correct
  • You can anticipate lighting to change slightly in upcoming updates (example picture)
  • Lighting is inherently linear, however,
  • Effect on render engine will be minimal in terms of visible objects
    • You can select how images and colours are encoded

Medra 2021-06-10 at 21:08

Q: When building worlds right now how can we best create to reduce the amount of fixing needed for the switch between gamma to linear space?

  • Best practice will come down to light intensity
    • One common problem with intensity is will vary the greatest when exceeding a value of 1
      • Anticipate values over 1 to be brighter than before
  • Mitigation is planned to pair with the launch
  • Reflection probes will lightly require a rework in*Neos following update
    • They will generally look better when rebaked
      • Unfortunately cannot be rebaked for users, this will need to be done by the users after the fact

Beaned 2021-06-10 at 21:10

Q: i'd like to know about how we will be doing lighting, currently there is no bounce lighting and no way to bake lighting. will we ever get that option to bake or will we get better realtime lighting that can do bounce lighting?

  • Both are planned
  • Proper placeable light probes are planned,
    • No timeline presently
    • Static or dynamic, with cube map as input
    • First iteration loosely coupled with reflection probe component
      • One light probe to one reflection probe
      • May change in future development
  • Probably not this year, focus may be on shader development in the short term

3x1t_5tyl3 2021-06-10 at 21:10

Q: Can you tell us more about what is holding us back from switching the engine away from unity? Are there still gonna be dependencies on unity in the future?

  • Complex answer
    • New graphics engine in development, not Unity based at all
    • Several reason to drop Unity
      • Performance
      • Headless must match mono
      • .net 5 is out, and faster than mono
      • More complex rendering features available
      • Custom shaders not feasible within Unity without growing far more attached to Unity
    • Unreal was considered as an alternative
      • Unreal 5 early access is being explored
      • Legal liabilities need to be considered with Unreal 5
      • Building game engines in game engines is generally frowned upon by Epic

epicEaston197 2021-06-10 at 21:11

Q: will this umDrive any Hue values.

  • HSV values
  • They should not be impact to a significant degree with the new colour space changes

Medra 2021-06-10 at 21:14

Thanks again for the answer. This is great!

Q: Until there is more information on the render engine used in Neos, what specific areas can we look for more info regarding best practices for performance?

  • Tricky question to answer, complex system
  • Depends on what the creator is targeting
    • High user count world?
      • Limit the number of objects
      • Make better usage of shared materials
      • Reduce draw calls
    • Lighting can be a weird one
      • Deferred rendering makes lighting cheap, but not free
    • Neos tends to be CPU bound, so rendering changes will not produce significant optimizations, only minor improvements
    • Dynamic bones (colliders more generally)
      • Bepu2 may help most with this, .net 5 will follow

Flute 2021-06-10 at 21:18

Hey Geenz, thanks for doing this!

Q: I remember you mentioning you plan on merging some or all of the pbs materials in Neos. Any more information on that and what is planned there?

  • Materials in Neos need to be consolidated
    • Large number of options that need to be toggled at the shader level
    • Many variations of this need to be carried over
    • Currently designing a process to streamline this transfer

3x1t_5tyl3 2021-06-10 at 21:18

Q: Follow up question: Will we see similar technologies from unreal or unity in the future? Stuff like mesh shaders, nanite, lumen ect

  • Planned, currently exploring options to develop
  • Some features required before this can be implemented,
    • Better asset streaming
  • Mesh shaders may not be supported on all graphics cards due to technical limitations
    • Still designing how they will handle these differences
    • Currently in the design phase
    • Lumen-like system likely most impactful, but no guarantees at this point in development

Beaned 2021-06-10 at 21:20

Q: i know this is far in the future but can we ever expect GPU particles?

  • Discussed internally, planned to some degree (asterisk here)
    • Still in the early phases, tied to the full*blown animation system, but this remains in very early development
    • Dependent on custom shaders
    • On the roadmap, but no specific plan of attack at this stage

Sawnikk 2021-06-10 at 21:20

Q: why are we CPU bound?

  • Current version of mono bundled with Unity is not efficient.
  • Requires a new engine to avoid, which is currently in development
  • Physics are costly with the current version of Bepu, may see significant improvements with the upgrade to Bepu2

Maximilian 2021-06-10 at 21:21

Q: Sorry if this was already spoken on: Are there any specific plans for GI, realtime or not?

  • Currently planned, see above
  • TLDR: Yes, static and dynamic are in the works

Medra 2021-06-10 at 21:25

Far clipping after a certain distance cuts off the shadow to save resources. This is very immersion breaking. Can you or Frooxius expose the setting of far clipping for shadow casting?

  • Not a bad idea, still need to explore the Unity API to adjust this
    • Setting may be able to be exposed
    • If simple, it may come with colour management, but no guarantees

/home/JellyOsaurusPC 2021-06-10 at 21:28

Q: i know that Realtime Shadows is not cheap, but is there anyway i can utilize them without it being heavy on resources?

  • Unfortunately no, real time shadows are slow
    • Positions of all objects relative to the light source needs to be calculated
    • Limited optimizations within the current Unity pipeline, solutions will require moving away from it, and are all difficult
    • Point and directional are often the most costly
      • Point light comparatively cheaper

Turk | Mentor Manager 2021-06-10 at 21:29

Q: Will Graphics options be a thing? I know folks don't like certain features or certain visual effects and is oft pain inducing for some folks

  • Planned
    • Some worlds are making use of in*game adjustments to graphic intensity
    • This is good, but they still plan some level of personal adjustment
    • They are interested in letting content creators have significant control over their worlds fidelity

Q: Will there be any native culling improvements in the future? If so what kind

  • Planned, currently only doing frustrum culling
    • Bepu2 may allow some object*to*object culling
    • Players can develop their own on top of this, as in game system allow some degree of culling*logiX
    • Per-triangle culling?
    • Lights as cheap as deferred lights today, in development

3x1t_5tyl3 2021-06-10 at 21:30

Q: Will we be able to use frustum culling ourselves? Ergo have the capability of culling arbitrary slots out of view of a user instead of just distance.

  • Clarify request,

Pretend you have an arbitrary slot, will we be able to say the viewer doesn’t see it (and its children)?

  • Will be explored, seems like a good idea, seems feasible

MattyK 2021-06-10 at 21:31

Q: Can we turn of Motion Blur pls

  • No specific priority right now, but agreed to be an issue

Nammi2021-06-10 at 21:31

Q: Will there be any Ambient Occlusion toggles, world based, client based, quality settings?

  • Planned
    • Tweaking the effect in other post processing options

Medra 2021-06-10 at 21:32

Objects with less polygons can be used to cast a shadow could be less computationally expensive. Is there any performance gains using separate (invisible) lower poly objects for shadow casting?

  • Marginal improvements from it, but depending on the circumstances could be beneficial

1amNick 2021-06-10 at 21:33

Q: Will either AMD's FSR or Nvidia's DLSS make its way to Neos? (sorry if this has also been asked)

  • Tricky response, its not the most straightforward to build into Neos.
    • It requires a working dataset to build off
    • CTAA can be enabled today, but is currently left disabled by default

Kulza 2021-06-10 at 21:35

Q: any plans for something similar to avatar imposters?

  • Not currently prioritized, but feasible and interesting to the team

epicEaston197 2021-06-10 at 21:36

Q: how will this affect materials like Toon material?

  • You will have the same quality of lighting seen off deferred lighting on it going forward following the update

Enverex 2021-06-10 at 21:37

Q: Do you see streaming assets (textures/meshes) both dynamic loading and unloading of them (for very large worlds, as opposed to the "load everything on world entry" that Neos currently does) something which is a very long way off, or something that's achievable in the not too distant future?

  • The latter, Neos already has an issue loading everything whenever a world is loaded
    • Current development is around how to solve this, split between the creator setting and Neos
    • Not too distant future, but still in the planning stages