Search Feedback

272
votes
Completed

More customizable rendering

Graphics

-

-

A few more utility functions and hooks in the rendering pipeline would tremendously increase customizability and allow for extensions doing some more advanced things like area light soft shadows, reflective shadowmaps, screen space photon mapping, ...). Even if they were easy to break the rendering pipeline, this would open up new areas for customization.

Camera.OnRenderedPrepassBase() -> extend the standard pipeline with custom steps/passes
Camera.OnRenderedPrepassLighting() -> extend the standard pipeline with custom steps/passes

Camera.RenderWithPass(...) -> piece together custom pipelines, customize shadowmap rendering

Light.UserData -> a bit like a material, to pass user data to shadowmap rendering and deferred rendering of the light
or/and
Light.OnShadowmapPreRender() -> set custom shader variables per light, customize shadowmap rendering
Light.OnPrepassPreRender() -> set custom shader variables per light, customize light rendering

or/and hooks to replace built in parts of the pipeline

Camera.RenderPrePassBase() -> replace built in
Camera.RenderPrePassLighting() -> replace built in
Camera.RenderPrePassFinal() -> replace built in
Camera.RenderForwardPass() -> replace built in
Light.RenderShadowmap() -> replace built in

Right now (Dec. 2012) there are two choices for customized rendering - no middle ground: doing minor customizations within the Unity pipeline or completely replacing it with a custom solution loosing some compatibility and convenience. So you do not see any big customizations to the rendering pipeline in the Asset Store and elsewhere.

Response avatar

RichardFine

Apr 16, 2015

The CommandBuffer API was added in Unity 5.0.

Comments (5)

  1. Ee24023e26ed5539548cbb41988e96f6?d=mm

    Jes28

    Feb 07, 2014 13:34

    Add abbility to set custom Rendering Path for camera i.e. script that control Rendering behaviour e.g. Stages and logic between them.
    http://feedback.unity3d.com/suggestions/custom-rendering-path-for-camera

  2. E6a32828914f206acef7ddb464d8216d?d=mm

    Zicandaro

    Jan 23, 2014 09:01

    The hooks or additional custom variables would be infinitely useful for achieving a AAA quality look in deferred and/or using surface shaders instead of vert+frag. Not to mention the ability to actually add much much more stuff!

    However it is sad to see that this is from 2012! Any chance to get an update as to how this is coming along over a year later?

  3. 0bf1d90b1828c4e163a1dfb2a681b47e?d=mm

    Dolkar

    Jul 03, 2013 14:29

    Light.RenderShadowmap() - All of my yes! Literally...

  4. Ee24023e26ed5539548cbb41988e96f6?d=mm

    Jes28

    Dec 20, 2012 14:16

    It would be great to have a low level technical documentation of what Unity is doing, especially on mobile. The black box approach really limit how much you can push performance if you don't know exactly what's happening at a lower level.

  5. Aefc60b0f084466d187a227282960890?d=mm

    Manul

    Nov 30, 2012 14:44

    A way to set the shadowmap projection nearplane per light would be great, too

Your opinion counts

Help us make things better. Share your great idea for improving Unity or vote for other people’s.

Log in to post a new idea

Categories

All

(9241)

2D

(233)

Ads

(42)

AI & Navigation

(70)

Analytics

(103)

Animation

(318)

Asset Store

(234)

Assets

(493)

Audio

(158)

Cloud Build

(98)

Collaborate

(33)

Docs & Tutorials

(202)

Editor

(2136)

Everyplay

(13)

Game Performance Reporting

(15)

General

(825)

Graphics

(783)

GUI

(371)

Input

(147)

Licensing

(76)

Networking

(163)

Physics

(346)

Platforms

(407)

Profiling & Optimization

(71)

Runtime

(164)

Scripting

(1030)

Terrain

(151)

WebGL

(132)