SlideShare a Scribd company logo
1 of 114
 
STAR OCEAN 4 :  Flexible Shader Management and Post-processing Yoshiharu Gotanda Research and Development Dept.,  tri-Ace Inc.
What is STAR OCEAN 4? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
History of STAR OCEAN ,[object Object],[object Object],[object Object]
STAR OCEAN ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
STAR OCEAN : The Second Story ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
STAR OCEAN: Till the End of Time ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
STAR OCEAN: The Last Hope ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
3 rd  Generation Engine ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Video (Dev env.)
Flexible Shader Management ,[object Object],[object Object],[object Object],[object Object]
Design Policy ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pros and cons ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Subdivided shaders ,[object Object],[object Object],[object Object],[object Object]
Shader samples - Lighting ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Shader samples – Normal, UV ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Shader samples – Shadow, projection ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Shader samples – Computation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Shader samples – Others ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Shader samples – Post-processing effects ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Other features ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Shader node example – simple Specular Map Texture Normal Map Texture Albedo Texture Ashikhmin BRDF Shader
Shader node example – artistic Color Texture for albedo Tangent space normal map texture Specular color texture Phong BRDF Shader Fresnel Shader Output Diffuse Color Gray scaled color output from Fresnel Shader
Shader node example - background Parallax Occlusion Map Shader Output Normal Dual paraboloid environment map texture Color map for albedo with modified UV Blinn-Phong BRDF Shader
Shader node example - effect Animated UV Offset Blending 2 textures UVs are shifted based off normal map
Shader node  example –  detail map LOD factor computation node Base Normal Map Texture Normal Map blended with three other textures using LOD factor Albedo Texture
AHSL ,[object Object],[object Object],[object Object],[object Object]
Shader Immediate Constants ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],float4  eConstCol0; float4  LoadConst0() {  return  eConstCol0;} float4  LoadConst0() {  return   float4 (0,0,0,0)}
Shader Cache ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Shader profile data ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Previous problems… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Problems ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The size of cache file ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Solutions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
But… ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The problem of Shader Adaptors ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Example All Adaptors are shadow maps in this shader Many shaders using 5 Shader Adaptors
Limitation ,[object Object],[object Object],[object Object],[object Object],[object Object]
Non-generated shaders ,[object Object],[object Object],[object Object],[object Object]
Cache file creation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Statistics ,[object Object],[object Object],11120 14.8M Area2 6804 9.0M Area1 9158 9.8M Common 26 18k Boot # of shaders Size Name of Region
Statistics ,[object Object],[object Object],[object Object],15810 19.8M Disc3 20417 25.4M Disc2 18882 24.1M Disc1 356 293k Boot # of shaders Size Name of region
Summary of size problem ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Disadvantages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Advantages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
More problems  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
This system is… ,[object Object],[object Object],[object Object],[object Object],[object Object]
Flexible post-processing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Photo-realistic Camera System ,[object Object],200mm F2.8
Why physics? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Effect from diffraction Less noise but long motion blur Noisy but short motion blur
Before physics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Bokeh Effect (DOF)
High quality bokeh ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Bokeh – Low profile 1/16 & 1/64 Reduced buffer 33 tap GPU 1.3[ms]
Bokeh – Standard profile 1/4 & 1/16 Reduced buffer 21 tap GPU 3.1[ms]
Bokeh – Reference profile Use full size buffer 227 tap GPU 246.6[ms]
Lens Equation ,[object Object],x: diameter of blur (CoC) o: object distance p: focal distance f: focal length F: F-stop
Blur kernel ,[object Object],[object Object],[object Object],[object Object],In focus (focus on the plane) Out of focus (Further distances focus off the plane) Image plane
Gaussian blur ,[object Object],[object Object],[object Object],[object Object],Gauss Flat
Blend with blurred image ,[object Object],[object Object],[object Object]
Blend vs. Per-pixel blur Blend Per-pixel (21taps)
Bokeh diagram Output (Gathered during Tonemapping Process) Blend Mipmapped color buffers  Reduced color buffer Fixed tap count blur  on Large Reduced Buffer High tap count blur on Small Reduced Buffer Create masks for all the bokeh shaders from depth buffer
Bokeh diagram (detail) Output (Gathered during Tonemapping Process) Fixed tap count blur and blend with SRB on large reduced buffer High tap count blur on Small Reduced Buffer (SRB) Create mipmap src. (put mask to A) Generate A lot of Masks (A,R,G,B)x2 from Depth Dilate Front Mask Create Half Reduced Buffer
Mipmapped source textures ,[object Object],[object Object],Different Source Tex LodBias, same tap count More correct blur radius Smoother but less correct
Bleeding artifacts ,[object Object],Fixed
Solution for bleeding artifact ,[object Object],[object Object],[object Object],[object Object],Using Source Image & Mask Using pre-multiplied Source Image Bleeding Remains
Creating foreground mask ,[object Object],[object Object],[object Object],1 2
Bokeh AHSL shader variation ,[object Object],[object Object],[object Object],[object Object],[object Object]
Aperture shape ,[object Object],[object Object],[object Object],[object Object],F5.6 F8.0 F13 Fully opened
Variable bokeh shape ,[object Object],100mm 1/30 F12.5 (our simulation) 100mm 1/250 F4.3 (our simulation) 28-200mm F3.5-5.6 (6 blades) (91taps)
Comparison with Real Photo Our simulation Real photo F2.8  F3.2  F3.5  F4  F5.6 A light source of 5mm in diameter at a distance of 3m from the camera. The focus distance   is 1.5m, with 70-200mm F2.8 lens at 200mm
Comparison with Real Photo Our simulation Real photo F8  F11  F16  F22  F32
One more thing ,[object Object],[object Object],F2.8 (without vignetting simulation) F2.8 F3.5 Real Photo F2.8 & F3.5
Optical Vignetting ,[object Object],[object Object],[object Object],Blue line indicates that ray is obstructed Film
Optical Vignetting ,[object Object],[object Object],[object Object],24mm F2.8 24mm F5.6
Implementation ,[object Object],Our simulation Falloff illuminance from Cosine Fourth Law and optical vignetting
Struct LensParameter struct LensParameter { string szName[64]; u8 nAppertureAngleNumber; f32 fDesignedFilmSize; f32 fMinFStop; f32 fMaxFStop; f32 fFStopZoom; f32 fMinFocusDepth; f32 fMinProjectionDistance; f32 fMaxProjectionDistance; //  -----------------  Vignetting Distance //  ||  ---------------  <-----------> //  ||  ----------------  | //  ||  ||  |  ||  | //  Entrance  ||  Open Ap ||Vignetting||  | //  Size  ||  Size  ||Size  ||  | //  ||  ||  |  ||  | //  ||  ----------------  | //  ||  ---------------  <-Frange Back -> //  -----------------  ^Iris //  <- Iris Distance -> //  <------------ Entrance Distance ------------> f32 fEntranceDistance; f32 fEntranceSize; f32 fApertureDistance; f32 fOpenApertureSize;
View angle change ,[object Object],[object Object],Focus on this glass Easily recognize view angle change  This lens can focus between 1.5m – 10m – Inf. Even with a 50cm focal distance change as shown in these pictures, recognizable view change appears. This change can be easily calculated with the lens equation.
Comparison of view angle When focusing on a closer point, focal length gets longer
Comparison of view angle
Theory ,[object Object],[object Object],[object Object],[object Object],a b f Lens Formula   a: distance to object b: distance to image plane f: focal length   magnification (FOV)
Motion Blur 35mm 1/60sec F14
What is motion blur? ,[object Object],[object Object],[object Object],[object Object]
Camera motion blur ,[object Object]
Object Motion Blur ,[object Object],[object Object],(1/64 reduced buffer)
Without motion blur
With motion blur
Tonemapping & filters
Glare filter ,[object Object],[object Object],[object Object],[object Object],+ =
Tonemapping curve ,[object Object],[object Object],[object Object]
Print ,[object Object],[object Object],[object Object],[object Object]
Film profile comparison Original (used in the game) Company K, Reversal Company F, Reversal
Film profile comparison Original (used in the game) Company K, Reversal Company K, Negative
Film profile comparison Company F, Negative Company C, Digital
Film profile comparison Original (used in the game) Company K, Reversal No film profile (Reinhard)
Film profile comparison (all) Original K, Rev. K, Neg. F, Rev. F, Neg. C, Digital Reinhard
Film grain ,[object Object],[object Object],ISO 50 ISO 400
C-MOS noise ,[object Object],[object Object],[object Object]
Results of grain Digital noise Film grain Enlarged and brightened in Photoshop (Digital camera profile)
Other simulations ,[object Object],[object Object],[object Object],[object Object],[object Object]
Custom Filters ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Dither ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Emphasized dithering
Tonemapping flow Gather Buffers (DOF, Glare) Pre matrix transform (Spectral film characteristic) Added Noise (Film grain, C-MOS noise ) Tex fetched transform (Film curve, Tone curve, gamma …) Matrix transform (chroma correction, …) Dithering Output to LDR buffer Input HDR buffers
Post-process AHSL shader variations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Results without post-process with post-process (high quality) with post-process (original) 85mm F6.3
Results without post-process with post-process (high quality) with post-process (original) 50mm F2.8
Results without post-process with post-process (high quality) with post-process (original) 24-70mm F12 58mm
Problem ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Finding a solution ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Unnatural bokeh caused by too few taps
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
More simulations ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Acknowledgements ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Acknowledgements ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Questions? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

What's hot

The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)Philip Hammer
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Tiago Sousa
 
Physically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbiteElectronic Arts / DICE
 
Calibrating Lighting and Materials in Far Cry 3
Calibrating Lighting and Materials in Far Cry 3Calibrating Lighting and Materials in Far Cry 3
Calibrating Lighting and Materials in Far Cry 3stevemcauley
 
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbitePhysically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbiteElectronic Arts / DICE
 
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonLow-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonAMD Developer Central
 
Advancements in-tiled-rendering
Advancements in-tiled-renderingAdvancements in-tiled-rendering
Advancements in-tiled-renderingmistercteam
 
Past, Present and Future Challenges of Global Illumination in Games
Past, Present and Future Challenges of Global Illumination in GamesPast, Present and Future Challenges of Global Illumination in Games
Past, Present and Future Challenges of Global Illumination in GamesColin Barré-Brisebois
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2Guerrilla
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Johan Andersson
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsJohan Andersson
 
Rendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb RaiderRendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb RaiderEidos-Montréal
 
Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Ki Hyunwoo
 
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringStable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringElectronic Arts / DICE
 
Progressive Lightmapper: An Introduction to Lightmapping in Unity
Progressive Lightmapper: An Introduction to Lightmapping in UnityProgressive Lightmapper: An Introduction to Lightmapping in Unity
Progressive Lightmapper: An Introduction to Lightmapping in UnityUnity Technologies
 
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationTaking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationGuerrilla
 
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3Electronic Arts / DICE
 

What's hot (20)

Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3Shiny PC Graphics in Battlefield 3
Shiny PC Graphics in Battlefield 3
 
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
The Rendering Technology of 'Lords of the Fallen' (Game Connection Europe 2014)
 
Lighting the City of Glass
Lighting the City of GlassLighting the City of Glass
Lighting the City of Glass
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)
 
Physically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in FrostbitePhysically Based and Unified Volumetric Rendering in Frostbite
Physically Based and Unified Volumetric Rendering in Frostbite
 
Calibrating Lighting and Materials in Far Cry 3
Calibrating Lighting and Materials in Far Cry 3Calibrating Lighting and Materials in Far Cry 3
Calibrating Lighting and Materials in Far Cry 3
 
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in FrostbitePhysically Based Sky, Atmosphere and Cloud Rendering in Frostbite
Physically Based Sky, Atmosphere and Cloud Rendering in Frostbite
 
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil PerssonLow-level Shader Optimization for Next-Gen and DX11 by Emil Persson
Low-level Shader Optimization for Next-Gen and DX11 by Emil Persson
 
Advancements in-tiled-rendering
Advancements in-tiled-renderingAdvancements in-tiled-rendering
Advancements in-tiled-rendering
 
DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3
 
Past, Present and Future Challenges of Global Illumination in Games
Past, Present and Future Challenges of Global Illumination in GamesPast, Present and Future Challenges of Global Illumination in Games
Past, Present and Future Challenges of Global Illumination in Games
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2
 
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
Terrain Rendering in Frostbite using Procedural Shader Splatting (Siggraph 2007)
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next Steps
 
Rendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb RaiderRendering Techniques in Rise of the Tomb Raider
Rendering Techniques in Rise of the Tomb Raider
 
Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1Rendering AAA-Quality Characters of Project A1
Rendering AAA-Quality Characters of Project A1
 
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal FilteringStable SSAO in Battlefield 3 with Selective Temporal Filtering
Stable SSAO in Battlefield 3 with Selective Temporal Filtering
 
Progressive Lightmapper: An Introduction to Lightmapping in Unity
Progressive Lightmapper: An Introduction to Lightmapping in UnityProgressive Lightmapper: An Introduction to Lightmapping in Unity
Progressive Lightmapper: An Introduction to Lightmapping in Unity
 
Taking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next GenerationTaking Killzone Shadow Fall Image Quality Into The Next Generation
Taking Killzone Shadow Fall Image Quality Into The Next Generation
 
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
SPU-Based Deferred Shading in BATTLEFIELD 3 for Playstation 3
 

Similar to Star Ocean 4 - Flexible Shader Managment and Post-processing

Rendering basics
Rendering basicsRendering basics
Rendering basicsicedmaster
 
Minko stage3d workshop_20130525
Minko stage3d workshop_20130525Minko stage3d workshop_20130525
Minko stage3d workshop_20130525Minko3D
 
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Johan Andersson
 
Computer Vision for PS3 Games
Computer Vision for PS3 GamesComputer Vision for PS3 Games
Computer Vision for PS3 GamesSlide_N
 
Fabio Mosca - Developing a VR multiplayer escape room: behind the scenes of V...
Fabio Mosca - Developing a VR multiplayer escape room: behind the scenes of V...Fabio Mosca - Developing a VR multiplayer escape room: behind the scenes of V...
Fabio Mosca - Developing a VR multiplayer escape room: behind the scenes of V...Codemotion
 
Computer Graphics Part1
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1qpqpqp
 
Shaders - Claudia Doppioslash - Unity With the Best
Shaders - Claudia Doppioslash - Unity With the BestShaders - Claudia Doppioslash - Unity With the Best
Shaders - Claudia Doppioslash - Unity With the BestBeMyApp
 
Why Graphics Is Fast, and What It Can Teach Us About Parallel Programming
Why Graphics Is Fast, and What It Can Teach Us About Parallel ProgrammingWhy Graphics Is Fast, and What It Can Teach Us About Parallel Programming
Why Graphics Is Fast, and What It Can Teach Us About Parallel ProgrammingJonathan Ragan-Kelley
 
Uncharted3 effect technique
Uncharted3 effect techniqueUncharted3 effect technique
Uncharted3 effect techniqueMinGeun Park
 
HTML5DevConf - Unleash the power of 3D with babylon.js
HTML5DevConf - Unleash the power of 3D with babylon.jsHTML5DevConf - Unleash the power of 3D with babylon.js
HTML5DevConf - Unleash the power of 3D with babylon.jsDavid Catuhe
 
Unite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platformsUnite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platformsナム-Nam Nguyễn
 
Unite2015 probelight English version
Unite2015 probelight English versionUnite2015 probelight English version
Unite2015 probelight English versionSangYun Yi
 
Minko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko3D
 
Advanced Lighting for Interactive Applications
Advanced Lighting for Interactive ApplicationsAdvanced Lighting for Interactive Applications
Advanced Lighting for Interactive Applicationsstefan_b
 
FGS 2011: Making A Game With Molehill: Zombie Tycoon
FGS 2011: Making A Game With Molehill: Zombie TycoonFGS 2011: Making A Game With Molehill: Zombie Tycoon
FGS 2011: Making A Game With Molehill: Zombie Tycoonmochimedia
 
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsHPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsElectronic Arts / DICE
 

Similar to Star Ocean 4 - Flexible Shader Managment and Post-processing (20)

Rendering basics
Rendering basicsRendering basics
Rendering basics
 
Minko stage3d workshop_20130525
Minko stage3d workshop_20130525Minko stage3d workshop_20130525
Minko stage3d workshop_20130525
 
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
Frostbite Rendering Architecture and Real-time Procedural Shading & Texturing...
 
Computer Vision for PS3 Games
Computer Vision for PS3 GamesComputer Vision for PS3 Games
Computer Vision for PS3 Games
 
Fabio Mosca - Developing a VR multiplayer escape room: behind the scenes of V...
Fabio Mosca - Developing a VR multiplayer escape room: behind the scenes of V...Fabio Mosca - Developing a VR multiplayer escape room: behind the scenes of V...
Fabio Mosca - Developing a VR multiplayer escape room: behind the scenes of V...
 
Xbox
XboxXbox
Xbox
 
Cse191 01
Cse191 01Cse191 01
Cse191 01
 
Computer Graphics Part1
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1
 
Shaders - Claudia Doppioslash - Unity With the Best
Shaders - Claudia Doppioslash - Unity With the BestShaders - Claudia Doppioslash - Unity With the Best
Shaders - Claudia Doppioslash - Unity With the Best
 
Unity
UnityUnity
Unity
 
OpenGL basics
OpenGL basicsOpenGL basics
OpenGL basics
 
Why Graphics Is Fast, and What It Can Teach Us About Parallel Programming
Why Graphics Is Fast, and What It Can Teach Us About Parallel ProgrammingWhy Graphics Is Fast, and What It Can Teach Us About Parallel Programming
Why Graphics Is Fast, and What It Can Teach Us About Parallel Programming
 
Uncharted3 effect technique
Uncharted3 effect techniqueUncharted3 effect technique
Uncharted3 effect technique
 
HTML5DevConf - Unleash the power of 3D with babylon.js
HTML5DevConf - Unleash the power of 3D with babylon.jsHTML5DevConf - Unleash the power of 3D with babylon.js
HTML5DevConf - Unleash the power of 3D with babylon.js
 
Unite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platformsUnite 2013 optimizing unity games for mobile platforms
Unite 2013 optimizing unity games for mobile platforms
 
Unite2015 probelight English version
Unite2015 probelight English versionUnite2015 probelight English version
Unite2015 probelight English version
 
Minko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSL
 
Advanced Lighting for Interactive Applications
Advanced Lighting for Interactive ApplicationsAdvanced Lighting for Interactive Applications
Advanced Lighting for Interactive Applications
 
FGS 2011: Making A Game With Molehill: Zombie Tycoon
FGS 2011: Making A Game With Molehill: Zombie TycoonFGS 2011: Making A Game With Molehill: Zombie Tycoon
FGS 2011: Making A Game With Molehill: Zombie Tycoon
 
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open ProblemsHPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
HPG 2018 - Game Ray Tracing: State-of-the-Art and Open Problems
 

More from umsl snfrzb

More from umsl snfrzb (8)

01 enrique davila
01 enrique davila01 enrique davila
01 enrique davila
 
Posicionamiento web
Posicionamiento webPosicionamiento web
Posicionamiento web
 
Smartphone soa
Smartphone soaSmartphone soa
Smartphone soa
 
Hack
HackHack
Hack
 
Hack
HackHack
Hack
 
Has There Been Progress on the P vs. NP Question?,
Has There Been Progress on the P vs. NP Question?,Has There Been Progress on the P vs. NP Question?,
Has There Been Progress on the P vs. NP Question?,
 
Ebooks
EbooksEbooks
Ebooks
 
Ebooks
EbooksEbooks
Ebooks
 

Recently uploaded

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Star Ocean 4 - Flexible Shader Managment and Post-processing

  • 1.  
  • 2. STAR OCEAN 4 : Flexible Shader Management and Post-processing Yoshiharu Gotanda Research and Development Dept., tri-Ace Inc.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. Shader node example – simple Specular Map Texture Normal Map Texture Albedo Texture Ashikhmin BRDF Shader
  • 23. Shader node example – artistic Color Texture for albedo Tangent space normal map texture Specular color texture Phong BRDF Shader Fresnel Shader Output Diffuse Color Gray scaled color output from Fresnel Shader
  • 24. Shader node example - background Parallax Occlusion Map Shader Output Normal Dual paraboloid environment map texture Color map for albedo with modified UV Blinn-Phong BRDF Shader
  • 25. Shader node example - effect Animated UV Offset Blending 2 textures UVs are shifted based off normal map
  • 26. Shader node example – detail map LOD factor computation node Base Normal Map Texture Normal Map blended with three other textures using LOD factor Albedo Texture
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37. Example All Adaptors are shadow maps in this shader Many shaders using 5 Shader Adaptors
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 53.
  • 54. Bokeh – Low profile 1/16 & 1/64 Reduced buffer 33 tap GPU 1.3[ms]
  • 55. Bokeh – Standard profile 1/4 & 1/16 Reduced buffer 21 tap GPU 3.1[ms]
  • 56. Bokeh – Reference profile Use full size buffer 227 tap GPU 246.6[ms]
  • 57.
  • 58.
  • 59.
  • 60.
  • 61. Blend vs. Per-pixel blur Blend Per-pixel (21taps)
  • 62. Bokeh diagram Output (Gathered during Tonemapping Process) Blend Mipmapped color buffers Reduced color buffer Fixed tap count blur on Large Reduced Buffer High tap count blur on Small Reduced Buffer Create masks for all the bokeh shaders from depth buffer
  • 63. Bokeh diagram (detail) Output (Gathered during Tonemapping Process) Fixed tap count blur and blend with SRB on large reduced buffer High tap count blur on Small Reduced Buffer (SRB) Create mipmap src. (put mask to A) Generate A lot of Masks (A,R,G,B)x2 from Depth Dilate Front Mask Create Half Reduced Buffer
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71. Comparison with Real Photo Our simulation Real photo F2.8 F3.2 F3.5 F4 F5.6 A light source of 5mm in diameter at a distance of 3m from the camera. The focus distance is 1.5m, with 70-200mm F2.8 lens at 200mm
  • 72. Comparison with Real Photo Our simulation Real photo F8 F11 F16 F22 F32
  • 73.
  • 74.
  • 75.
  • 76.
  • 77. Struct LensParameter struct LensParameter { string szName[64]; u8 nAppertureAngleNumber; f32 fDesignedFilmSize; f32 fMinFStop; f32 fMaxFStop; f32 fFStopZoom; f32 fMinFocusDepth; f32 fMinProjectionDistance; f32 fMaxProjectionDistance; // ----------------- Vignetting Distance // || --------------- <-----------> // || ---------------- | // || || | || | // Entrance || Open Ap ||Vignetting|| | // Size || Size ||Size || | // || || | || | // || ---------------- | // || --------------- <-Frange Back -> // ----------------- ^Iris // <- Iris Distance -> // <------------ Entrance Distance ------------> f32 fEntranceDistance; f32 fEntranceSize; f32 fApertureDistance; f32 fOpenApertureSize;
  • 78.
  • 79. Comparison of view angle When focusing on a closer point, focal length gets longer
  • 81.
  • 82. Motion Blur 35mm 1/60sec F14
  • 83.
  • 84.
  • 85.
  • 89.
  • 90.
  • 91.
  • 92. Film profile comparison Original (used in the game) Company K, Reversal Company F, Reversal
  • 93. Film profile comparison Original (used in the game) Company K, Reversal Company K, Negative
  • 94. Film profile comparison Company F, Negative Company C, Digital
  • 95. Film profile comparison Original (used in the game) Company K, Reversal No film profile (Reinhard)
  • 96. Film profile comparison (all) Original K, Rev. K, Neg. F, Rev. F, Neg. C, Digital Reinhard
  • 97.
  • 98.
  • 99. Results of grain Digital noise Film grain Enlarged and brightened in Photoshop (Digital camera profile)
  • 100.
  • 101.
  • 102.
  • 103. Tonemapping flow Gather Buffers (DOF, Glare) Pre matrix transform (Spectral film characteristic) Added Noise (Film grain, C-MOS noise ) Tex fetched transform (Film curve, Tone curve, gamma …) Matrix transform (chroma correction, …) Dithering Output to LDR buffer Input HDR buffers
  • 104.
  • 105. Results without post-process with post-process (high quality) with post-process (original) 85mm F6.3
  • 106. Results without post-process with post-process (high quality) with post-process (original) 50mm F2.8
  • 107. Results without post-process with post-process (high quality) with post-process (original) 24-70mm F12 58mm
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.