SlideShare a Scribd company logo
 
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 Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...Johan Andersson
 
Lighting the City of Glass
Lighting the City of GlassLighting the City of Glass
Lighting the City of Glass
Electronic Arts / DICE
 
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
Electronic Arts / DICE
 
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
Electronic Arts / DICE
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics Technology
Tiago Sousa
 
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
 
Dissecting the Rendering of The Surge
Dissecting the Rendering of The SurgeDissecting the Rendering of The Surge
Dissecting the Rendering of The Surge
Philip Hammer
 
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
Ki Hyunwoo
 
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
Electronic Arts / DICE
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow Fall
Guerrilla
 
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
AMD Developer Central
 
Stochastic Screen-Space Reflections
Stochastic Screen-Space ReflectionsStochastic Screen-Space Reflections
Stochastic Screen-Space Reflections
Electronic Arts / DICE
 
Z Buffer Optimizations
Z Buffer OptimizationsZ Buffer Optimizations
Z Buffer Optimizationspjcozzi
 
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
 
Moving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based RenderingMoving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based Rendering
Electronic Arts / DICE
 
Checkerboard Rendering in Dark Souls: Remastered by QLOC
Checkerboard Rendering in Dark Souls: Remastered by QLOCCheckerboard Rendering in Dark Souls: Remastered by QLOC
Checkerboard Rendering in Dark Souls: Remastered by QLOC
QLOC
 
Screen Space Reflections in The Surge
Screen Space Reflections in The SurgeScreen Space Reflections in The Surge
Screen Space Reflections in The Surge
Michele Giacalone
 
Bending the Graphics Pipeline
Bending the Graphics PipelineBending the Graphics Pipeline
Bending the Graphics Pipeline
Electronic 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 Persson
AMD Developer Central
 

What's hot (20)

The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
 
Lighting the City of Glass
Lighting the City of GlassLighting the City of Glass
Lighting the City of Glass
 
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
 
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
4K Checkerboard in Battlefield 1 and Mass Effect Andromeda
 
Secrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics TechnologySecrets of CryENGINE 3 Graphics Technology
Secrets of CryENGINE 3 Graphics Technology
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)
 
Dissecting the Rendering of The Surge
Dissecting the Rendering of The SurgeDissecting the Rendering of The Surge
Dissecting the Rendering of The Surge
 
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
 
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
 
Lighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow FallLighting of Killzone: Shadow Fall
Lighting of Killzone: Shadow Fall
 
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
Vertex Shader Tricks by Bill Bilodeau - AMD at GDC14
 
Stochastic Screen-Space Reflections
Stochastic Screen-Space ReflectionsStochastic Screen-Space Reflections
Stochastic Screen-Space Reflections
 
Z Buffer Optimizations
Z Buffer OptimizationsZ Buffer Optimizations
Z Buffer Optimizations
 
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...
 
Moving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based RenderingMoving Frostbite to Physically Based Rendering
Moving Frostbite to Physically Based Rendering
 
Light prepass
Light prepassLight prepass
Light prepass
 
Checkerboard Rendering in Dark Souls: Remastered by QLOC
Checkerboard Rendering in Dark Souls: Remastered by QLOCCheckerboard Rendering in Dark Souls: Remastered by QLOC
Checkerboard Rendering in Dark Souls: Remastered by QLOC
 
Screen Space Reflections in The Surge
Screen Space Reflections in The SurgeScreen Space Reflections in The Surge
Screen Space Reflections in The Surge
 
Bending the Graphics Pipeline
Bending the Graphics PipelineBending the Graphics Pipeline
Bending the Graphics Pipeline
 
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
 

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

Rendering basics
Rendering basicsRendering basics
Rendering basics
icedmaster
 
Minko stage3d workshop_20130525
Minko stage3d workshop_20130525Minko stage3d workshop_20130525
Minko stage3d workshop_20130525Minko3D
 
Computer Vision for PS3 Games
Computer Vision for PS3 GamesComputer Vision for PS3 Games
Computer Vision for PS3 Games
Slide_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
 
DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3
Electronic Arts / DICE
 
Xbox
XboxXbox
Cse191 01
Cse191 01Cse191 01
Cse191 01
Rohan Kapoor
 
Computer Graphics Part1
Computer Graphics Part1Computer Graphics Part1
Computer Graphics Part1
qpqpqp
 
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
BeMyApp
 
Unity
UnityUnity
OpenGL basics
OpenGL basicsOpenGL basics
OpenGL basics
Mohammad Hosein Nemati
 
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
Jonathan 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.js
David Catuhe
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next Steps
Johan Andersson
 
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 version
SangYun 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 Applications
stefan_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 Tycoon
mochimedia
 

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
 
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...
 
DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3
 
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
 
The Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next StepsThe Rendering Pipeline - Challenges & Next Steps
The Rendering Pipeline - Challenges & Next Steps
 
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
 

More from umsl snfrzb

01 enrique davila
01 enrique davila01 enrique davila
01 enrique davilaumsl snfrzb
 
Posicionamiento web
Posicionamiento webPosicionamiento web
Posicionamiento webumsl snfrzb
 
Smartphone soa
Smartphone soaSmartphone soa
Smartphone soa
umsl snfrzb
 
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?,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

Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 

Recently uploaded (20)

Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 

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.