SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
PSGL
(PlayStation Graphics Library)
Presented by
Rémi Arnaud
Graphics Architect
Tools for graphic programming
“An apprentice carpenter may want only a hammer
and saw, but a master craftsman employs many
precision tools. Computer programming likewise
requires sophisticated tools to cope with the
complexity of real applications, and only practice
with these tools will build skill in their use.”
Robert L. Kruse, Data Structures and Program
Design
Industry standards for PS3
● Well defined behavior
● It take years to create good libraries
● Companies collaboration
● Conformance test -> Guarantee of quality
“A collection of precision tools …”
● Plenty of expertise available
● Leverage exiting development tools
“…for skilled craftsmen”
Industry standards for PS3
What is covered ?
DCC toolsDCC tools
PS3 OSPS3 OS
OpenGL ESOpenGL ESCg run-timeCg run-time
Game Application
Code
Game Application
Code
Run
Time
Run
Time
Off
Line
Off
Line
COLLADACOLLADA
COLLADA
FX
COLLADA
FX Binary FormatBinary Format
OpenGL ES
● Why OpenGL ES ?
This makes no sense !?!
OpenGL ES is a low-end phone API
PS3 has the most advanced graphics
OpenGL ES 1.0
● PS3 gfx is all about shaders ! But …
▪ Need to manage non programmable state
▪ Need vertex array, VBO, FBO…
● Could take a subset of OpenGL Desktop
▪ Need Quality Assurance from conformance test
● Just need to add shaders to ES 1.x ☺
▪ and shader effects !
OpenGL ES 1.0
● ES has ~110 entry points
▪ pipeline state management
▪ Vertex arrays
▪ Texture management
▪ Bonus: Fixed pipeline
▪ Only ~20 entry points only for fixed pipeline
▪ Fog, light, material, texenv
▪ Inconvenience from conformance test
▪ Fixed point functions (1 line C entry points)
▪ DXT compression replaces palletized texture
OpenGL ES 1.1 Extension Pack
● PSGL officially passed ES 1.0 conformance test
● Some good stuff in ES 1.1+, that PSGL supports:
▪ VBO
▪ FBO
▪ PBO
▪ Cube Map, texgen
● Other additions are superseded by shaders
▪ Shader programs replace Matrix blending, crossbar texenv
● PSGL could be made ES 1.1+ compliant
▪ Let us know if it is important to you
PSGL Extensions
● Primitives:
▪ Quads, Quads_strips
▪ primitive restart
▪ Instancing
● Queries and Conditional Rendering
● More data types, eg half_float
● Textures:
▪ Floating point textures
▪ DXT
▪ 3D
▪ non power of 2
▪ Anisotropic filtering, Min/Max LOD, LOD Bias
▪ Depth textures
▪ Gamma correction
▪ Vertex Texture
More PSGL Extensions
● Polygon mode (free)
● Dual sided stencil – accelerate shadow volume
● Synchronizations: Fence and Events (wait/set)
● Memory usage hints
▪ For texture, VBO, PBO, render-targets
● Attribute set
▪ Accelerate state change
Adding shaders … requirements
● Providing off-line compiler
▪ Shader compiler should be optional
▪ Going against the current
▪ Current technology does not include linkers
● Providing shader effects
▪ Managing states, vp and fp
▪ Managing multipass effects
● Need good compiler
● Need skilled craftsmen
● Need content
Adding shaders … choice
● There was no shaders in ES when we had to decide
● Cg was the best choice because:
▪ Already used by game developers
▪ Cg and HLSL are very close
▪ Very good for leveraging content and tools
▪ Good relationship with nVidia
▪ No need to deal with the ARB or Microsoft
▪ Can be extended (with profiles)
▪ No virtualization layers
▪ More predictable performance
▪ Tools (performance tools, FXComposer)
▪ Advance features such as interface and multiple entry points
▪ Access to good compiler
▪ Complete cross-platform Cg API
▪ API and compiler can be easily modified to support Binary shaders
▪ CgFX shader FX API, file format and DCC support
OpenGL ES 2.x ?
● Came too late, PSGL already delivered
● OpenGL ES 2.x makes total sense
▪ SCE contributing member for ES 2.0
▪ Binary shaders load
▪ Shader language choice
▪ No fix pipeline
▪ Still need to implement ES 1.x for that
▪ No shader effect API
▪ Still need Cg API
● PSGL 2.0 could be ES 2.x compatible
▪ Would that be interesting to you ?
Cg run-time
● Cg run-time (cg 1.5)
▪ Collaborative work with nVidia
▪ Cg 1.5 already in PSGL, soon on PC !
▪ Modified to allow for pre-compiled shaders
▪ in addition to embedded compiler
▪ Modified to allow creation of FX at run-time
▪ Load file should not be in a graphics API
▪ More an more flexibility demanded by developers
CgGL API
● cgGLSetStateMatrixParameter()
▪ Let Cg use the OpenGL ES matrix stack
● cgGLAttribPointer()
▪ Allows for decoupling shader and geometry
▪ Defines an attribute interface
Cg API (effects)
● cgCreateEffect()
● cgCreateTechnique()
● cgCreatePass()
● cgCreateStateAssignment()
● cgCreateEffectAnnotation()
● cgCreateEffectParameter( )
● cgCreateTechniqueAnnotation()
● …..
● cgSetFloatStateAssigment()
● …
Teleportation
From the low level …
… to the content tools
In between is game developer territory !
Getting Content
● PSGL need good content
● Exporters are hard and complex to do right
● Exporters quality is fundamental to content
quality
We would like the DCC vendors to provide the
data in a good standard format
Market force
● That’s more work for DCC tools
● Business wise, DCC vendors prefer locking
developers to their products
● New concept for developers
Main issue: there were no standards !
COLLADA
● First meetings SigGraph’03
▪ Got enough momentum from all DCC vendors to create working
group
● First release SigGraph’04
▪ Minimum set of feature to test concept and collaboration
● Adding features 1.1, 1.2, 1.3
▪ Game developers really interested
▪ Adding necessary features
▪ 1.3.1 SigGraph’05, 1st anniversary presentation
● COLLADA 1.4 accepted by Khronos as a standard
▪ January 2006
An industry standard in 30 months !
COLLADA 1.4.0
● Now used in production
▪ Ready after less that 3 years !
▪ See, we are listening to your feedback ☺ (collada.org)
● Full feature
▪ Geometry, material, scene, libraries, ….
▪ Animation, skin, morph
● Advanced features – some frictions on the edge !
▪ COLLADA PhX
▪ COLLADA FX
● Content pipeline friendly
▪ <asset>
▪ Asset management recognized as the next challenge
● Missing ?
▪ Sound
▪ What else would you want ?
COLLADA FX
● See next presentation
● Effect format for PSGL
▪ Providing FX loader, using cg1.5 API
▪ Cross platform effect file
▪ Also for 1.x mobile phones
▪ Multipass effects without shaders
● Effect format for OpenGL ES
● Effect format for OpenGL Desktop ?
COLLADA parts
● COLLADA Schema
● COLLADA spec
● Export/Import
● COLLADA DOM
● COLLADA RT
● FX Loader (Cg 1.5)
● FXComposer 2.0
Public Domain
PSGL developers
New !
New !
www.collada.org
www.khronos.org/collada
http://sourceforge.net/projects/collada-dom/
COLLADA conditioning pipeline
.dae
.bin
Targetplatform
DCCtool
Fast Path
Conditioner
Conditioner
Questions?

Más contenido relacionado

La actualidad más candente

Seminar blood glucose regulation
Seminar blood glucose regulationSeminar blood glucose regulation
Seminar blood glucose regulationSHABEENAPATEL86
 
Digestion and absorption of lipids
Digestion and absorption of  lipidsDigestion and absorption of  lipids
Digestion and absorption of lipidsrohini sane
 
Enzyme regulation zymogen
Enzyme regulation zymogenEnzyme regulation zymogen
Enzyme regulation zymogenMahendrakar M D
 
Improve the performance of your Unity project using Graphics Performance Anal...
Improve the performance of your Unity project using Graphics Performance Anal...Improve the performance of your Unity project using Graphics Performance Anal...
Improve the performance of your Unity project using Graphics Performance Anal...Unity Technologies
 
Extracellular Matrix
Extracellular MatrixExtracellular Matrix
Extracellular MatrixSaradbrata
 
Digestion and absorption
Digestion and absorptionDigestion and absorption
Digestion and absorptionFarhana Atia
 
gluconeogenesis
gluconeogenesisgluconeogenesis
gluconeogenesisWajeeha123
 
Book of the Dead: Environmental Design, Tools, and Techniques for Photo-Real ...
Book of the Dead: Environmental Design, Tools, and Techniques for Photo-Real ...Book of the Dead: Environmental Design, Tools, and Techniques for Photo-Real ...
Book of the Dead: Environmental Design, Tools, and Techniques for Photo-Real ...Unity Technologies
 
Synthesis of Cholesterol
Synthesis of CholesterolSynthesis of Cholesterol
Synthesis of CholesterolSaiBadri2
 
Forward+ (EUROGRAPHICS 2012)
Forward+ (EUROGRAPHICS 2012)Forward+ (EUROGRAPHICS 2012)
Forward+ (EUROGRAPHICS 2012)Takahiro Harada
 
beta oxidation of fatty acids
beta oxidation of fatty acidsbeta oxidation of fatty acids
beta oxidation of fatty acidsNehaMahrolia
 
Ch22 운영체제
Ch22 운영체제Ch22 운영체제
Ch22 운영체제Kyungryul KIM
 
The Endocrine Functions Of The Pancreas
The Endocrine Functions Of The PancreasThe Endocrine Functions Of The Pancreas
The Endocrine Functions Of The Pancreasmeducationdotnet
 
Field Programmable Gate Array: Building Blocks and Interconnections
Field Programmable Gate Array: Building Blocks and InterconnectionsField Programmable Gate Array: Building Blocks and Interconnections
Field Programmable Gate Array: Building Blocks and InterconnectionsDr. Saravanakumar Umathurai
 
Metabolism of lipoproteins
Metabolism of lipoproteinsMetabolism of lipoproteins
Metabolism of lipoproteinsRamesh Gupta
 
Thymus gland and spleen by Mohammad Mufarreh
Thymus gland and spleen by Mohammad MufarrehThymus gland and spleen by Mohammad Mufarreh
Thymus gland and spleen by Mohammad MufarrehMMufarreh
 
Metabolic Effects of Insulin
Metabolic Effects of InsulinMetabolic Effects of Insulin
Metabolic Effects of InsulinSupachai Basit
 

La actualidad más candente (20)

Seminar blood glucose regulation
Seminar blood glucose regulationSeminar blood glucose regulation
Seminar blood glucose regulation
 
Digestion and absorption of lipids
Digestion and absorption of  lipidsDigestion and absorption of  lipids
Digestion and absorption of lipids
 
Enzyme regulation zymogen
Enzyme regulation zymogenEnzyme regulation zymogen
Enzyme regulation zymogen
 
Improve the performance of your Unity project using Graphics Performance Anal...
Improve the performance of your Unity project using Graphics Performance Anal...Improve the performance of your Unity project using Graphics Performance Anal...
Improve the performance of your Unity project using Graphics Performance Anal...
 
Extracellular Matrix
Extracellular MatrixExtracellular Matrix
Extracellular Matrix
 
Digestion and absorption
Digestion and absorptionDigestion and absorption
Digestion and absorption
 
gluconeogenesis
gluconeogenesisgluconeogenesis
gluconeogenesis
 
Book of the Dead: Environmental Design, Tools, and Techniques for Photo-Real ...
Book of the Dead: Environmental Design, Tools, and Techniques for Photo-Real ...Book of the Dead: Environmental Design, Tools, and Techniques for Photo-Real ...
Book of the Dead: Environmental Design, Tools, and Techniques for Photo-Real ...
 
Synthesis of Cholesterol
Synthesis of CholesterolSynthesis of Cholesterol
Synthesis of Cholesterol
 
Forward+ (EUROGRAPHICS 2012)
Forward+ (EUROGRAPHICS 2012)Forward+ (EUROGRAPHICS 2012)
Forward+ (EUROGRAPHICS 2012)
 
beta oxidation of fatty acids
beta oxidation of fatty acidsbeta oxidation of fatty acids
beta oxidation of fatty acids
 
Ch22 운영체제
Ch22 운영체제Ch22 운영체제
Ch22 운영체제
 
The Endocrine Functions Of The Pancreas
The Endocrine Functions Of The PancreasThe Endocrine Functions Of The Pancreas
The Endocrine Functions Of The Pancreas
 
Field Programmable Gate Array: Building Blocks and Interconnections
Field Programmable Gate Array: Building Blocks and InterconnectionsField Programmable Gate Array: Building Blocks and Interconnections
Field Programmable Gate Array: Building Blocks and Interconnections
 
Connective tissue.pptx
Connective tissue.pptxConnective tissue.pptx
Connective tissue.pptx
 
Metabolism of lipoproteins
Metabolism of lipoproteinsMetabolism of lipoproteins
Metabolism of lipoproteins
 
Thymus gland and spleen by Mohammad Mufarreh
Thymus gland and spleen by Mohammad MufarrehThymus gland and spleen by Mohammad Mufarreh
Thymus gland and spleen by Mohammad Mufarreh
 
Biochemistry quiz 3
Biochemistry quiz 3Biochemistry quiz 3
Biochemistry quiz 3
 
Metabolic Effects of Insulin
Metabolic Effects of InsulinMetabolic Effects of Insulin
Metabolic Effects of Insulin
 
Histology of lymphatic system
Histology of lymphatic systemHistology of lymphatic system
Histology of lymphatic system
 

Similar a PSGL (PlayStation Graphics Library)

Castle Game Engine and the joy of making and using a custom game engine
Castle Game Engine and the joy  of making and using a custom game engineCastle Game Engine and the joy  of making and using a custom game engine
Castle Game Engine and the joy of making and using a custom game engineMichalis Kamburelis
 
OpenGL Shading Language
OpenGL Shading LanguageOpenGL Shading Language
OpenGL Shading LanguageJungsoo Nam
 
Google I/O 2014 Recap
Google I/O 2014 Recap Google I/O 2014 Recap
Google I/O 2014 Recap Trey Robinson
 
Metail Skin Colour Authoring Tool
Metail Skin Colour Authoring ToolMetail Skin Colour Authoring Tool
Metail Skin Colour Authoring ToolDavid Gavilan
 
High Performance Rust UI.pdf
High Performance Rust UI.pdfHigh Performance Rust UI.pdf
High Performance Rust UI.pdfmraaaaa
 
SIGGRAPH Asia 2008 Modern OpenGL
SIGGRAPH Asia 2008 Modern OpenGLSIGGRAPH Asia 2008 Modern OpenGL
SIGGRAPH Asia 2008 Modern OpenGLMark Kilgard
 
Developing games and graphic visualizations in Pascal
Developing games and graphic visualizations in PascalDeveloping games and graphic visualizations in Pascal
Developing games and graphic visualizations in PascalMichalis Kamburelis
 
Advanced Video Production with FOSS
Advanced Video Production with FOSSAdvanced Video Production with FOSS
Advanced Video Production with FOSSKirk Kimmel
 
Computer Graphics - Lecture 01 - 3D Programming I
Computer Graphics - Lecture 01 - 3D Programming IComputer Graphics - Lecture 01 - 3D Programming I
Computer Graphics - Lecture 01 - 3D Programming I💻 Anton Gerdelan
 
【Unite 2018 Tokyo】スクリプタブルレンダーパイプライン入門
【Unite 2018 Tokyo】スクリプタブルレンダーパイプライン入門【Unite 2018 Tokyo】スクリプタブルレンダーパイプライン入門
【Unite 2018 Tokyo】スクリプタブルレンダーパイプライン入門Unity Technologies Japan K.K.
 
Elephant Roads: PostgreSQL Patches and Variants
Elephant Roads: PostgreSQL Patches and VariantsElephant Roads: PostgreSQL Patches and Variants
Elephant Roads: PostgreSQL Patches and VariantsPostgreSQL Experts, Inc.
 
Elephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forksElephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forksCommand Prompt., Inc
 
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese..."Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...Edge AI and Vision Alliance
 
Smedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphicsSmedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphicschangehee lee
 
LibGDX: Cross Platform Game Development
LibGDX: Cross Platform Game DevelopmentLibGDX: Cross Platform Game Development
LibGDX: Cross Platform Game DevelopmentIntel® Software
 
mloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game developmentmloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game developmentDavid Galeano
 
Scala can do this, too
Scala can do this, tooScala can do this, too
Scala can do this, tooHairy Fotr
 
Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011Prabindh Sundareson
 
GFX Part 1 - Introduction to GPU HW and OpenGL ES specifications
GFX Part 1 - Introduction to GPU HW and OpenGL ES specificationsGFX Part 1 - Introduction to GPU HW and OpenGL ES specifications
GFX Part 1 - Introduction to GPU HW and OpenGL ES specificationsPrabindh Sundareson
 

Similar a PSGL (PlayStation Graphics Library) (20)

Castle Game Engine and the joy of making and using a custom game engine
Castle Game Engine and the joy  of making and using a custom game engineCastle Game Engine and the joy  of making and using a custom game engine
Castle Game Engine and the joy of making and using a custom game engine
 
OpenGL Shading Language
OpenGL Shading LanguageOpenGL Shading Language
OpenGL Shading Language
 
Google I/O 2014 Recap
Google I/O 2014 Recap Google I/O 2014 Recap
Google I/O 2014 Recap
 
Metail Skin Colour Authoring Tool
Metail Skin Colour Authoring ToolMetail Skin Colour Authoring Tool
Metail Skin Colour Authoring Tool
 
High Performance Rust UI.pdf
High Performance Rust UI.pdfHigh Performance Rust UI.pdf
High Performance Rust UI.pdf
 
SIGGRAPH Asia 2008 Modern OpenGL
SIGGRAPH Asia 2008 Modern OpenGLSIGGRAPH Asia 2008 Modern OpenGL
SIGGRAPH Asia 2008 Modern OpenGL
 
Developing games and graphic visualizations in Pascal
Developing games and graphic visualizations in PascalDeveloping games and graphic visualizations in Pascal
Developing games and graphic visualizations in Pascal
 
Advanced Video Production with FOSS
Advanced Video Production with FOSSAdvanced Video Production with FOSS
Advanced Video Production with FOSS
 
Computer Graphics - Lecture 01 - 3D Programming I
Computer Graphics - Lecture 01 - 3D Programming IComputer Graphics - Lecture 01 - 3D Programming I
Computer Graphics - Lecture 01 - 3D Programming I
 
【Unite 2018 Tokyo】スクリプタブルレンダーパイプライン入門
【Unite 2018 Tokyo】スクリプタブルレンダーパイプライン入門【Unite 2018 Tokyo】スクリプタブルレンダーパイプライン入門
【Unite 2018 Tokyo】スクリプタブルレンダーパイプライン入門
 
Elephant Roads: PostgreSQL Patches and Variants
Elephant Roads: PostgreSQL Patches and VariantsElephant Roads: PostgreSQL Patches and Variants
Elephant Roads: PostgreSQL Patches and Variants
 
Elephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forksElephant Roads: a tour of Postgres forks
Elephant Roads: a tour of Postgres forks
 
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese..."Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
"Making Computer Vision Software Run Fast on Your Embedded Platform," a Prese...
 
Smedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphicsSmedberg niklas bringing_aaa_graphics
Smedberg niklas bringing_aaa_graphics
 
LibGDX: Cross Platform Game Development
LibGDX: Cross Platform Game DevelopmentLibGDX: Cross Platform Game Development
LibGDX: Cross Platform Game Development
 
mloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game developmentmloc.js 2014 - JavaScript and the browser as a platform for game development
mloc.js 2014 - JavaScript and the browser as a platform for game development
 
Scala can do this, too
Scala can do this, tooScala can do this, too
Scala can do this, too
 
Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011
 
GFX Part 1 - Introduction to GPU HW and OpenGL ES specifications
GFX Part 1 - Introduction to GPU HW and OpenGL ES specificationsGFX Part 1 - Introduction to GPU HW and OpenGL ES specifications
GFX Part 1 - Introduction to GPU HW and OpenGL ES specifications
 
Go at Skroutz
Go at SkroutzGo at Skroutz
Go at Skroutz
 

Más de Slide_N

New Millennium for Computer Entertainment - Kutaragi
New Millennium for Computer Entertainment - KutaragiNew Millennium for Computer Entertainment - Kutaragi
New Millennium for Computer Entertainment - KutaragiSlide_N
 
Sony Transformation 60 - Kutaragi
Sony Transformation 60 - KutaragiSony Transformation 60 - Kutaragi
Sony Transformation 60 - KutaragiSlide_N
 
Sony Transformation 60
Sony Transformation 60 Sony Transformation 60
Sony Transformation 60 Slide_N
 
Moving Innovative Game Technology from the Lab to the Living Room
Moving Innovative Game Technology from the Lab to the Living RoomMoving Innovative Game Technology from the Lab to the Living Room
Moving Innovative Game Technology from the Lab to the Living RoomSlide_N
 
Cell Technology for Graphics and Visualization
Cell Technology for Graphics and VisualizationCell Technology for Graphics and Visualization
Cell Technology for Graphics and VisualizationSlide_N
 
Industry Trends in Microprocessor Design
Industry Trends in Microprocessor DesignIndustry Trends in Microprocessor Design
Industry Trends in Microprocessor DesignSlide_N
 
Translating GPU Binaries to Tiered SIMD Architectures with Ocelot
Translating GPU Binaries to Tiered SIMD Architectures with OcelotTranslating GPU Binaries to Tiered SIMD Architectures with Ocelot
Translating GPU Binaries to Tiered SIMD Architectures with OcelotSlide_N
 
Cellular Neural Networks: Theory
Cellular Neural Networks: TheoryCellular Neural Networks: Theory
Cellular Neural Networks: TheorySlide_N
 
Network Processing on an SPE Core in Cell Broadband EngineTM
Network Processing on an SPE Core in Cell Broadband EngineTMNetwork Processing on an SPE Core in Cell Broadband EngineTM
Network Processing on an SPE Core in Cell Broadband EngineTMSlide_N
 
Deferred Pixel Shading on the PLAYSTATION®3
Deferred Pixel Shading on the PLAYSTATION®3Deferred Pixel Shading on the PLAYSTATION®3
Deferred Pixel Shading on the PLAYSTATION®3Slide_N
 
Developing Technology for Ratchet and Clank Future: Tools of Destruction
Developing Technology for Ratchet and Clank Future: Tools of DestructionDeveloping Technology for Ratchet and Clank Future: Tools of Destruction
Developing Technology for Ratchet and Clank Future: Tools of DestructionSlide_N
 
NVIDIA Tesla Accelerated Computing Platform for IBM Power
NVIDIA Tesla Accelerated Computing Platform for IBM PowerNVIDIA Tesla Accelerated Computing Platform for IBM Power
NVIDIA Tesla Accelerated Computing Platform for IBM PowerSlide_N
 
The Visual Computing Revolution Continues
The Visual Computing Revolution ContinuesThe Visual Computing Revolution Continues
The Visual Computing Revolution ContinuesSlide_N
 
Multiple Cores, Multiple Pipes, Multiple Threads – Do we have more Parallelis...
Multiple Cores, Multiple Pipes, Multiple Threads – Do we have more Parallelis...Multiple Cores, Multiple Pipes, Multiple Threads – Do we have more Parallelis...
Multiple Cores, Multiple Pipes, Multiple Threads – Do we have more Parallelis...Slide_N
 
MLAA on PS3
MLAA on PS3MLAA on PS3
MLAA on PS3Slide_N
 
SPU gameplay
SPU gameplaySPU gameplay
SPU gameplaySlide_N
 
Insomniac Physics
Insomniac PhysicsInsomniac Physics
Insomniac PhysicsSlide_N
 
SPU Shaders
SPU ShadersSPU Shaders
SPU ShadersSlide_N
 
SPU Physics
SPU PhysicsSPU Physics
SPU PhysicsSlide_N
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Slide_N
 

Más de Slide_N (20)

New Millennium for Computer Entertainment - Kutaragi
New Millennium for Computer Entertainment - KutaragiNew Millennium for Computer Entertainment - Kutaragi
New Millennium for Computer Entertainment - Kutaragi
 
Sony Transformation 60 - Kutaragi
Sony Transformation 60 - KutaragiSony Transformation 60 - Kutaragi
Sony Transformation 60 - Kutaragi
 
Sony Transformation 60
Sony Transformation 60 Sony Transformation 60
Sony Transformation 60
 
Moving Innovative Game Technology from the Lab to the Living Room
Moving Innovative Game Technology from the Lab to the Living RoomMoving Innovative Game Technology from the Lab to the Living Room
Moving Innovative Game Technology from the Lab to the Living Room
 
Cell Technology for Graphics and Visualization
Cell Technology for Graphics and VisualizationCell Technology for Graphics and Visualization
Cell Technology for Graphics and Visualization
 
Industry Trends in Microprocessor Design
Industry Trends in Microprocessor DesignIndustry Trends in Microprocessor Design
Industry Trends in Microprocessor Design
 
Translating GPU Binaries to Tiered SIMD Architectures with Ocelot
Translating GPU Binaries to Tiered SIMD Architectures with OcelotTranslating GPU Binaries to Tiered SIMD Architectures with Ocelot
Translating GPU Binaries to Tiered SIMD Architectures with Ocelot
 
Cellular Neural Networks: Theory
Cellular Neural Networks: TheoryCellular Neural Networks: Theory
Cellular Neural Networks: Theory
 
Network Processing on an SPE Core in Cell Broadband EngineTM
Network Processing on an SPE Core in Cell Broadband EngineTMNetwork Processing on an SPE Core in Cell Broadband EngineTM
Network Processing on an SPE Core in Cell Broadband EngineTM
 
Deferred Pixel Shading on the PLAYSTATION®3
Deferred Pixel Shading on the PLAYSTATION®3Deferred Pixel Shading on the PLAYSTATION®3
Deferred Pixel Shading on the PLAYSTATION®3
 
Developing Technology for Ratchet and Clank Future: Tools of Destruction
Developing Technology for Ratchet and Clank Future: Tools of DestructionDeveloping Technology for Ratchet and Clank Future: Tools of Destruction
Developing Technology for Ratchet and Clank Future: Tools of Destruction
 
NVIDIA Tesla Accelerated Computing Platform for IBM Power
NVIDIA Tesla Accelerated Computing Platform for IBM PowerNVIDIA Tesla Accelerated Computing Platform for IBM Power
NVIDIA Tesla Accelerated Computing Platform for IBM Power
 
The Visual Computing Revolution Continues
The Visual Computing Revolution ContinuesThe Visual Computing Revolution Continues
The Visual Computing Revolution Continues
 
Multiple Cores, Multiple Pipes, Multiple Threads – Do we have more Parallelis...
Multiple Cores, Multiple Pipes, Multiple Threads – Do we have more Parallelis...Multiple Cores, Multiple Pipes, Multiple Threads – Do we have more Parallelis...
Multiple Cores, Multiple Pipes, Multiple Threads – Do we have more Parallelis...
 
MLAA on PS3
MLAA on PS3MLAA on PS3
MLAA on PS3
 
SPU gameplay
SPU gameplaySPU gameplay
SPU gameplay
 
Insomniac Physics
Insomniac PhysicsInsomniac Physics
Insomniac Physics
 
SPU Shaders
SPU ShadersSPU Shaders
SPU Shaders
 
SPU Physics
SPU PhysicsSPU Physics
SPU Physics
 
Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2Deferred Rendering in Killzone 2
Deferred Rendering in Killzone 2
 

Último

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Último (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

PSGL (PlayStation Graphics Library)

  • 1.
  • 2. PSGL (PlayStation Graphics Library) Presented by Rémi Arnaud Graphics Architect
  • 3. Tools for graphic programming “An apprentice carpenter may want only a hammer and saw, but a master craftsman employs many precision tools. Computer programming likewise requires sophisticated tools to cope with the complexity of real applications, and only practice with these tools will build skill in their use.” Robert L. Kruse, Data Structures and Program Design
  • 4. Industry standards for PS3 ● Well defined behavior ● It take years to create good libraries ● Companies collaboration ● Conformance test -> Guarantee of quality “A collection of precision tools …” ● Plenty of expertise available ● Leverage exiting development tools “…for skilled craftsmen”
  • 6. What is covered ? DCC toolsDCC tools PS3 OSPS3 OS OpenGL ESOpenGL ESCg run-timeCg run-time Game Application Code Game Application Code Run Time Run Time Off Line Off Line COLLADACOLLADA COLLADA FX COLLADA FX Binary FormatBinary Format
  • 7. OpenGL ES ● Why OpenGL ES ? This makes no sense !?! OpenGL ES is a low-end phone API PS3 has the most advanced graphics
  • 8. OpenGL ES 1.0 ● PS3 gfx is all about shaders ! But … ▪ Need to manage non programmable state ▪ Need vertex array, VBO, FBO… ● Could take a subset of OpenGL Desktop ▪ Need Quality Assurance from conformance test ● Just need to add shaders to ES 1.x ☺ ▪ and shader effects !
  • 9. OpenGL ES 1.0 ● ES has ~110 entry points ▪ pipeline state management ▪ Vertex arrays ▪ Texture management ▪ Bonus: Fixed pipeline ▪ Only ~20 entry points only for fixed pipeline ▪ Fog, light, material, texenv ▪ Inconvenience from conformance test ▪ Fixed point functions (1 line C entry points) ▪ DXT compression replaces palletized texture
  • 10. OpenGL ES 1.1 Extension Pack ● PSGL officially passed ES 1.0 conformance test ● Some good stuff in ES 1.1+, that PSGL supports: ▪ VBO ▪ FBO ▪ PBO ▪ Cube Map, texgen ● Other additions are superseded by shaders ▪ Shader programs replace Matrix blending, crossbar texenv ● PSGL could be made ES 1.1+ compliant ▪ Let us know if it is important to you
  • 11. PSGL Extensions ● Primitives: ▪ Quads, Quads_strips ▪ primitive restart ▪ Instancing ● Queries and Conditional Rendering ● More data types, eg half_float ● Textures: ▪ Floating point textures ▪ DXT ▪ 3D ▪ non power of 2 ▪ Anisotropic filtering, Min/Max LOD, LOD Bias ▪ Depth textures ▪ Gamma correction ▪ Vertex Texture
  • 12. More PSGL Extensions ● Polygon mode (free) ● Dual sided stencil – accelerate shadow volume ● Synchronizations: Fence and Events (wait/set) ● Memory usage hints ▪ For texture, VBO, PBO, render-targets ● Attribute set ▪ Accelerate state change
  • 13. Adding shaders … requirements ● Providing off-line compiler ▪ Shader compiler should be optional ▪ Going against the current ▪ Current technology does not include linkers ● Providing shader effects ▪ Managing states, vp and fp ▪ Managing multipass effects ● Need good compiler ● Need skilled craftsmen ● Need content
  • 14. Adding shaders … choice ● There was no shaders in ES when we had to decide ● Cg was the best choice because: ▪ Already used by game developers ▪ Cg and HLSL are very close ▪ Very good for leveraging content and tools ▪ Good relationship with nVidia ▪ No need to deal with the ARB or Microsoft ▪ Can be extended (with profiles) ▪ No virtualization layers ▪ More predictable performance ▪ Tools (performance tools, FXComposer) ▪ Advance features such as interface and multiple entry points ▪ Access to good compiler ▪ Complete cross-platform Cg API ▪ API and compiler can be easily modified to support Binary shaders ▪ CgFX shader FX API, file format and DCC support
  • 15. OpenGL ES 2.x ? ● Came too late, PSGL already delivered ● OpenGL ES 2.x makes total sense ▪ SCE contributing member for ES 2.0 ▪ Binary shaders load ▪ Shader language choice ▪ No fix pipeline ▪ Still need to implement ES 1.x for that ▪ No shader effect API ▪ Still need Cg API ● PSGL 2.0 could be ES 2.x compatible ▪ Would that be interesting to you ?
  • 16. Cg run-time ● Cg run-time (cg 1.5) ▪ Collaborative work with nVidia ▪ Cg 1.5 already in PSGL, soon on PC ! ▪ Modified to allow for pre-compiled shaders ▪ in addition to embedded compiler ▪ Modified to allow creation of FX at run-time ▪ Load file should not be in a graphics API ▪ More an more flexibility demanded by developers
  • 17. CgGL API ● cgGLSetStateMatrixParameter() ▪ Let Cg use the OpenGL ES matrix stack ● cgGLAttribPointer() ▪ Allows for decoupling shader and geometry ▪ Defines an attribute interface
  • 18. Cg API (effects) ● cgCreateEffect() ● cgCreateTechnique() ● cgCreatePass() ● cgCreateStateAssignment() ● cgCreateEffectAnnotation() ● cgCreateEffectParameter( ) ● cgCreateTechniqueAnnotation() ● ….. ● cgSetFloatStateAssigment() ● …
  • 19. Teleportation From the low level … … to the content tools In between is game developer territory !
  • 20. Getting Content ● PSGL need good content ● Exporters are hard and complex to do right ● Exporters quality is fundamental to content quality We would like the DCC vendors to provide the data in a good standard format
  • 21. Market force ● That’s more work for DCC tools ● Business wise, DCC vendors prefer locking developers to their products ● New concept for developers Main issue: there were no standards !
  • 22. COLLADA ● First meetings SigGraph’03 ▪ Got enough momentum from all DCC vendors to create working group ● First release SigGraph’04 ▪ Minimum set of feature to test concept and collaboration ● Adding features 1.1, 1.2, 1.3 ▪ Game developers really interested ▪ Adding necessary features ▪ 1.3.1 SigGraph’05, 1st anniversary presentation ● COLLADA 1.4 accepted by Khronos as a standard ▪ January 2006 An industry standard in 30 months !
  • 23. COLLADA 1.4.0 ● Now used in production ▪ Ready after less that 3 years ! ▪ See, we are listening to your feedback ☺ (collada.org) ● Full feature ▪ Geometry, material, scene, libraries, …. ▪ Animation, skin, morph ● Advanced features – some frictions on the edge ! ▪ COLLADA PhX ▪ COLLADA FX ● Content pipeline friendly ▪ <asset> ▪ Asset management recognized as the next challenge ● Missing ? ▪ Sound ▪ What else would you want ?
  • 24. COLLADA FX ● See next presentation ● Effect format for PSGL ▪ Providing FX loader, using cg1.5 API ▪ Cross platform effect file ▪ Also for 1.x mobile phones ▪ Multipass effects without shaders ● Effect format for OpenGL ES ● Effect format for OpenGL Desktop ?
  • 25. COLLADA parts ● COLLADA Schema ● COLLADA spec ● Export/Import ● COLLADA DOM ● COLLADA RT ● FX Loader (Cg 1.5) ● FXComposer 2.0 Public Domain PSGL developers New ! New ! www.collada.org www.khronos.org/collada http://sourceforge.net/projects/collada-dom/