SlideShare a Scribd company logo
1 of 7
Download to read offline
Regal
 for OpenGL
development
 Nigel T. Stewart
NVIDIA Corporation
 August 4th, 2012
Regal Goals

Open Source
There is nothing behind the curtain.
You can see what Regal is doing and change it if needed.

Portability
Consistent OpenGL API that runs on all major platforms:
Windows, Linux, Mac, iOS, and Android

Compatible
Immediate mode, fixed function, GL_QUADS
work everywhere, emulated as necessary.

Modern OpenGL API
Direct State Access (DSA) and Vertex Array Object (VAO),
emulated as necessary.
Ease of Use

Set breakpoints on OpenGL functions.
Step into the code.
Inspect state.

Efficiency

If it cannot be implemented efficiently in Regal, it is not universally
supported.

For example, tessellation support requires tessellation hardware.
Regal is a Work-In-Progress

Emulation for OpenGL ES and Desktop GL Core contexts.

          Fixed-function lighting using GLSL shaders.
          Direct-state-access emulation.
          Immediate mode emulation


Logging

          See all the application calls into Regal
          See all the driver calls from Regal into OpenGL
          GL_EXT_debug_marker emulation
Debugging

Optional error checking layer. (glGetError)


Access configuration, logs and GL state via HTTP.



Other ideas (unimplemented as of now)
        Debugging checks
        Performance problems
        Statistics gathering – API coverage, time spent.
        Frame capture
        GL state capture and comparison.
Imagined Uses for Regal

 Using Regal as a portability layer for developing games
 for Windows, Linux, Android, Mac and/or iOS.

 As a way of running OpenGL 1.x or 2.x code in a core
 OpenGL context. (Apple Mac or AMD GPU)

 As a way of porting Linux OpenGL games to mobile
 devices.

 As a common infrastructure for OpenGL development
 tools.
More Information
Source Code on github:
https://github.com/p3/regal

opengl.org forum thread:
http://www.opengl.org/discussion_boards/showthread.php/1786
78-Introducing-Regal?p=1240974

Email:
nstewart@nvidia.com

More Related Content

What's hot

Develop, deploy, and operate services at reddit scale oscon 2018
Develop, deploy, and operate services at reddit scale   oscon 2018Develop, deploy, and operate services at reddit scale   oscon 2018
Develop, deploy, and operate services at reddit scale oscon 2018Gregory Taylor
 
Kubernetes at Reddit: An Origin Story - KubeCon NA 2018
Kubernetes at Reddit: An Origin Story - KubeCon NA 2018Kubernetes at Reddit: An Origin Story - KubeCon NA 2018
Kubernetes at Reddit: An Origin Story - KubeCon NA 2018Gregory Taylor
 
Intro to Flutter
Intro to FlutterIntro to Flutter
Intro to FlutterShady Selim
 
How to GraphQL
How to GraphQLHow to GraphQL
How to GraphQLTomasz Bak
 
Qt Application Development on Harmattan
Qt Application Development on HarmattanQt Application Development on Harmattan
Qt Application Development on HarmattanVille Lavonius
 
How to use apolloJS on React ?
How to use apolloJS on React ?How to use apolloJS on React ?
How to use apolloJS on React ?Jonathan Jalouzot
 
How volkswagen used microservices and automation to develop self service solu...
How volkswagen used microservices and automation to develop self service solu...How volkswagen used microservices and automation to develop self service solu...
How volkswagen used microservices and automation to develop self service solu...Marcos Entenza Garcia
 
KotlinConf - Kotlin and Spring Boot, a match made in heaven
KotlinConf - Kotlin and Spring Boot, a match made in heavenKotlinConf - Kotlin and Spring Boot, a match made in heaven
KotlinConf - Kotlin and Spring Boot, a match made in heavenNicolas Fränkel
 
Porting Projects to .NET 5
Porting Projects to .NET 5Porting Projects to .NET 5
Porting Projects to .NET 5Immo Landwerth
 
AspectJ Android with Example
AspectJ Android with ExampleAspectJ Android with Example
AspectJ Android with Examplefirstthumb
 
The Bleeding Edge - Whats New in Angular 2
The Bleeding Edge - Whats New in Angular 2The Bleeding Edge - Whats New in Angular 2
The Bleeding Edge - Whats New in Angular 2Lohith Goudagere Nagaraj
 
20180124 android taipei_arinterface
20180124 android taipei_arinterface20180124 android taipei_arinterface
20180124 android taipei_arinterfacePRADA Hsiung
 
Build your android app with gradle
Build your android app with gradleBuild your android app with gradle
Build your android app with gradleSwain Loda
 
Into to GraphQL
Into to GraphQLInto to GraphQL
Into to GraphQLshobot
 
Python Map Reduce vs Scalding
Python Map Reduce vs ScaldingPython Map Reduce vs Scalding
Python Map Reduce vs ScaldingAndreea Bodnari
 

What's hot (16)

Develop, deploy, and operate services at reddit scale oscon 2018
Develop, deploy, and operate services at reddit scale   oscon 2018Develop, deploy, and operate services at reddit scale   oscon 2018
Develop, deploy, and operate services at reddit scale oscon 2018
 
Elixir absinthe-basics
Elixir absinthe-basicsElixir absinthe-basics
Elixir absinthe-basics
 
Kubernetes at Reddit: An Origin Story - KubeCon NA 2018
Kubernetes at Reddit: An Origin Story - KubeCon NA 2018Kubernetes at Reddit: An Origin Story - KubeCon NA 2018
Kubernetes at Reddit: An Origin Story - KubeCon NA 2018
 
Intro to Flutter
Intro to FlutterIntro to Flutter
Intro to Flutter
 
How to GraphQL
How to GraphQLHow to GraphQL
How to GraphQL
 
Qt Application Development on Harmattan
Qt Application Development on HarmattanQt Application Development on Harmattan
Qt Application Development on Harmattan
 
How to use apolloJS on React ?
How to use apolloJS on React ?How to use apolloJS on React ?
How to use apolloJS on React ?
 
How volkswagen used microservices and automation to develop self service solu...
How volkswagen used microservices and automation to develop self service solu...How volkswagen used microservices and automation to develop self service solu...
How volkswagen used microservices and automation to develop self service solu...
 
KotlinConf - Kotlin and Spring Boot, a match made in heaven
KotlinConf - Kotlin and Spring Boot, a match made in heavenKotlinConf - Kotlin and Spring Boot, a match made in heaven
KotlinConf - Kotlin and Spring Boot, a match made in heaven
 
Porting Projects to .NET 5
Porting Projects to .NET 5Porting Projects to .NET 5
Porting Projects to .NET 5
 
AspectJ Android with Example
AspectJ Android with ExampleAspectJ Android with Example
AspectJ Android with Example
 
The Bleeding Edge - Whats New in Angular 2
The Bleeding Edge - Whats New in Angular 2The Bleeding Edge - Whats New in Angular 2
The Bleeding Edge - Whats New in Angular 2
 
20180124 android taipei_arinterface
20180124 android taipei_arinterface20180124 android taipei_arinterface
20180124 android taipei_arinterface
 
Build your android app with gradle
Build your android app with gradleBuild your android app with gradle
Build your android app with gradle
 
Into to GraphQL
Into to GraphQLInto to GraphQL
Into to GraphQL
 
Python Map Reduce vs Scalding
Python Map Reduce vs ScaldingPython Map Reduce vs Scalding
Python Map Reduce vs Scalding
 

Viewers also liked

For chiropractic to progress it no longer needs Philosophy?
For chiropractic to progress it no longer needs Philosophy?For chiropractic to progress it no longer needs Philosophy?
For chiropractic to progress it no longer needs Philosophy?Braddon Atkinson
 
Cách mới để món cá sốt cà ri ngon bất ngờ
Cách mới để món cá sốt cà ri ngon bất ngờCách mới để món cá sốt cà ri ngon bất ngờ
Cách mới để món cá sốt cà ri ngon bất ngờCác Món Ăn Ngon
 
慶應義塾大学 教育学特殊 第12講(2016年67月13日)
慶應義塾大学 教育学特殊 第12講(2016年67月13日) 慶應義塾大学 教育学特殊 第12講(2016年67月13日)
慶應義塾大学 教育学特殊 第12講(2016年67月13日) Koyo Yamamori
 
W.A.Y. Where are you? Strumento di a
W.A.Y. Where are you? Strumento di aW.A.Y. Where are you? Strumento di a
W.A.Y. Where are you? Strumento di aeAgisco
 
SkinnyFrameworkやろうぜ!(+ScalaMatsuriレポート) #scala_kb
SkinnyFrameworkやろうぜ!(+ScalaMatsuriレポート) #scala_kbSkinnyFrameworkやろうぜ!(+ScalaMatsuriレポート) #scala_kb
SkinnyFrameworkやろうぜ!(+ScalaMatsuriレポート) #scala_kbAsami Abe
 
BYOiPad Parent Briefing, July 31, 2012
BYOiPad Parent Briefing, July 31, 2012BYOiPad Parent Briefing, July 31, 2012
BYOiPad Parent Briefing, July 31, 2012jarruzza
 
台湾の目標準拠評価の国際会議のスライド
台湾の目標準拠評価の国際会議のスライド台湾の目標準拠評価の国際会議のスライド
台湾の目標準拠評価の国際会議のスライドKoyo Yamamori
 
20121222 scalaビギナーズ
20121222 scalaビギナーズ20121222 scalaビギナーズ
20121222 scalaビギナーズAsami Abe
 
150527 教育学特殊 第6講
150527 教育学特殊 第6講150527 教育学特殊 第6講
150527 教育学特殊 第6講Koyo Yamamori
 
Coventry 2011 presentation
Coventry 2011 presentationCoventry 2011 presentation
Coventry 2011 presentationsandrammarinho
 
1. scenario pembelajaran uk 2012
1. scenario pembelajaran uk 20121. scenario pembelajaran uk 2012
1. scenario pembelajaran uk 2012sugainanaf
 
Integral_Boekhouding en beheer programma's
Integral_Boekhouding en beheer programma'sIntegral_Boekhouding en beheer programma's
Integral_Boekhouding en beheer programma'sT.I.P.Group
 
151021 教育評価論(三田)第4講
151021 教育評価論(三田)第4講151021 教育評価論(三田)第4講
151021 教育評価論(三田)第4講Koyo Yamamori
 
Mike baker fotosdivertidas
Mike baker fotosdivertidasMike baker fotosdivertidas
Mike baker fotosdivertidasMike Baker Ovarb
 
150428 慶応の学生に読ませようと作ったビブリオ あまりにも多すぎるので精選します
150428 慶応の学生に読ませようと作ったビブリオ あまりにも多すぎるので精選します150428 慶応の学生に読ませようと作ったビブリオ あまりにも多すぎるので精選します
150428 慶応の学生に読ませようと作ったビブリオ あまりにも多すぎるので精選しますKoyo Yamamori
 
"Social Innovation for Employment" information session
"Social Innovation for Employment" information session "Social Innovation for Employment" information session
"Social Innovation for Employment" information session Nahdet El Mahrousa
 

Viewers also liked (20)

For chiropractic to progress it no longer needs Philosophy?
For chiropractic to progress it no longer needs Philosophy?For chiropractic to progress it no longer needs Philosophy?
For chiropractic to progress it no longer needs Philosophy?
 
SWA Presentation
SWA PresentationSWA Presentation
SWA Presentation
 
Cách mới để món cá sốt cà ri ngon bất ngờ
Cách mới để món cá sốt cà ri ngon bất ngờCách mới để món cá sốt cà ri ngon bất ngờ
Cách mới để món cá sốt cà ri ngon bất ngờ
 
慶應義塾大学 教育学特殊 第12講(2016年67月13日)
慶應義塾大学 教育学特殊 第12講(2016年67月13日) 慶應義塾大学 教育学特殊 第12講(2016年67月13日)
慶應義塾大学 教育学特殊 第12講(2016年67月13日)
 
Cua đồng rang me
Cua đồng rang meCua đồng rang me
Cua đồng rang me
 
W.A.Y. Where are you? Strumento di a
W.A.Y. Where are you? Strumento di aW.A.Y. Where are you? Strumento di a
W.A.Y. Where are you? Strumento di a
 
SkinnyFrameworkやろうぜ!(+ScalaMatsuriレポート) #scala_kb
SkinnyFrameworkやろうぜ!(+ScalaMatsuriレポート) #scala_kbSkinnyFrameworkやろうぜ!(+ScalaMatsuriレポート) #scala_kb
SkinnyFrameworkやろうぜ!(+ScalaMatsuriレポート) #scala_kb
 
BYOiPad Parent Briefing, July 31, 2012
BYOiPad Parent Briefing, July 31, 2012BYOiPad Parent Briefing, July 31, 2012
BYOiPad Parent Briefing, July 31, 2012
 
台湾の目標準拠評価の国際会議のスライド
台湾の目標準拠評価の国際会議のスライド台湾の目標準拠評価の国際会議のスライド
台湾の目標準拠評価の国際会議のスライド
 
20121222 scalaビギナーズ
20121222 scalaビギナーズ20121222 scalaビギナーズ
20121222 scalaビギナーズ
 
Edmodo 8-6-12
Edmodo 8-6-12Edmodo 8-6-12
Edmodo 8-6-12
 
150527 教育学特殊 第6講
150527 教育学特殊 第6講150527 教育学特殊 第6講
150527 教育学特殊 第6講
 
Coventry 2011 presentation
Coventry 2011 presentationCoventry 2011 presentation
Coventry 2011 presentation
 
Set2011
Set2011Set2011
Set2011
 
1. scenario pembelajaran uk 2012
1. scenario pembelajaran uk 20121. scenario pembelajaran uk 2012
1. scenario pembelajaran uk 2012
 
Integral_Boekhouding en beheer programma's
Integral_Boekhouding en beheer programma'sIntegral_Boekhouding en beheer programma's
Integral_Boekhouding en beheer programma's
 
151021 教育評価論(三田)第4講
151021 教育評価論(三田)第4講151021 教育評価論(三田)第4講
151021 教育評価論(三田)第4講
 
Mike baker fotosdivertidas
Mike baker fotosdivertidasMike baker fotosdivertidas
Mike baker fotosdivertidas
 
150428 慶応の学生に読ませようと作ったビブリオ あまりにも多すぎるので精選します
150428 慶応の学生に読ませようと作ったビブリオ あまりにも多すぎるので精選します150428 慶応の学生に読ませようと作ったビブリオ あまりにも多すぎるので精選します
150428 慶応の学生に読ませようと作ったビブリオ あまりにも多すぎるので精選します
 
"Social Innovation for Employment" information session
"Social Innovation for Employment" information session "Social Innovation for Employment" information session
"Social Innovation for Employment" information session
 

Similar to Regal

Porting the Source Engine to Linux: Valve's Lessons Learned
Porting the Source Engine to Linux: Valve's Lessons LearnedPorting the Source Engine to Linux: Valve's Lessons Learned
Porting the Source Engine to Linux: Valve's Lessons Learnedbasisspace
 
OpenGL 4.5 Update for NVIDIA GPUs
OpenGL 4.5 Update for NVIDIA GPUsOpenGL 4.5 Update for NVIDIA GPUs
OpenGL 4.5 Update for NVIDIA GPUsMark Kilgard
 
13th kandroid OpenGL and EGL
13th kandroid OpenGL and EGL13th kandroid OpenGL and EGL
13th kandroid OpenGL and EGLJungsoo Nam
 
Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011Prabindh Sundareson
 
Gdc 14 bringing unreal engine 4 to open_gl
Gdc 14 bringing unreal engine 4 to open_glGdc 14 bringing unreal engine 4 to open_gl
Gdc 14 bringing unreal engine 4 to open_glchangehee lee
 
Embedded Graphics Drivers in Mesa (ELCE 2019)
Embedded Graphics Drivers in Mesa (ELCE 2019)Embedded Graphics Drivers in Mesa (ELCE 2019)
Embedded Graphics Drivers in Mesa (ELCE 2019)Igalia
 
LCA13: OpenGL ES3 and You
LCA13: OpenGL ES3 and YouLCA13: OpenGL ES3 and You
LCA13: OpenGL ES3 and YouLinaro
 
Getting Started with Spring for GraphQL
Getting Started with Spring for GraphQLGetting Started with Spring for GraphQL
Getting Started with Spring for GraphQLVMware Tanzu
 
OpenGL ES EGL Spec&APIs
OpenGL ES EGL Spec&APIsOpenGL ES EGL Spec&APIs
OpenGL ES EGL Spec&APIsJungsoo Nam
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTManuel Carrasco Moñino
 
Introduction to accelerated graphics
Introduction to accelerated graphicsIntroduction to accelerated graphics
Introduction to accelerated graphicsRuslan Novikov
 
Open Kode, Airplay And The New Reality Of Write Once Run Anywhere
Open Kode, Airplay And The New Reality Of Write Once Run AnywhereOpen Kode, Airplay And The New Reality Of Write Once Run Anywhere
Open Kode, Airplay And The New Reality Of Write Once Run Anywhereguest991eb3
 
System Support for OpenGL Direct Rendering
System Support for OpenGL Direct RenderingSystem Support for OpenGL Direct Rendering
System Support for OpenGL Direct RenderingMark Kilgard
 
Seminar presentation on OpenGL
Seminar presentation on OpenGLSeminar presentation on OpenGL
Seminar presentation on OpenGLMegha V
 
LibGDX: Cross Platform Game Development
LibGDX: Cross Platform Game DevelopmentLibGDX: Cross Platform Game Development
LibGDX: Cross Platform Game DevelopmentIntel® Software
 
Minko - Flash Conference #5
Minko - Flash Conference #5Minko - Flash Conference #5
Minko - Flash Conference #5Minko3D
 

Similar to Regal (20)

Porting the Source Engine to Linux: Valve's Lessons Learned
Porting the Source Engine to Linux: Valve's Lessons LearnedPorting the Source Engine to Linux: Valve's Lessons Learned
Porting the Source Engine to Linux: Valve's Lessons Learned
 
OpenGL 4.5 Update for NVIDIA GPUs
OpenGL 4.5 Update for NVIDIA GPUsOpenGL 4.5 Update for NVIDIA GPUs
OpenGL 4.5 Update for NVIDIA GPUs
 
13th kandroid OpenGL and EGL
13th kandroid OpenGL and EGL13th kandroid OpenGL and EGL
13th kandroid OpenGL and EGL
 
Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011Advanced Graphics Workshop - GFX2011
Advanced Graphics Workshop - GFX2011
 
Gdc 14 bringing unreal engine 4 to open_gl
Gdc 14 bringing unreal engine 4 to open_glGdc 14 bringing unreal engine 4 to open_gl
Gdc 14 bringing unreal engine 4 to open_gl
 
Embedded Graphics Drivers in Mesa (ELCE 2019)
Embedded Graphics Drivers in Mesa (ELCE 2019)Embedded Graphics Drivers in Mesa (ELCE 2019)
Embedded Graphics Drivers in Mesa (ELCE 2019)
 
LCA13: OpenGL ES3 and You
LCA13: OpenGL ES3 and YouLCA13: OpenGL ES3 and You
LCA13: OpenGL ES3 and You
 
Getting Started with Spring for GraphQL
Getting Started with Spring for GraphQLGetting Started with Spring for GraphQL
Getting Started with Spring for GraphQL
 
OpenGL ES EGL Spec&APIs
OpenGL ES EGL Spec&APIsOpenGL ES EGL Spec&APIs
OpenGL ES EGL Spec&APIs
 
Open gl
Open glOpen gl
Open gl
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWT
 
Opengl basics
Opengl basicsOpengl basics
Opengl basics
 
Introduction to accelerated graphics
Introduction to accelerated graphicsIntroduction to accelerated graphics
Introduction to accelerated graphics
 
Open Kode, Airplay And The New Reality Of Write Once Run Anywhere
Open Kode, Airplay And The New Reality Of Write Once Run AnywhereOpen Kode, Airplay And The New Reality Of Write Once Run Anywhere
Open Kode, Airplay And The New Reality Of Write Once Run Anywhere
 
System Support for OpenGL Direct Rendering
System Support for OpenGL Direct RenderingSystem Support for OpenGL Direct Rendering
System Support for OpenGL Direct Rendering
 
Computer graphics workbook
Computer graphics workbookComputer graphics workbook
Computer graphics workbook
 
Seminar presentation on OpenGL
Seminar presentation on OpenGLSeminar presentation on OpenGL
Seminar presentation on OpenGL
 
GPU Programming with Java
GPU Programming with JavaGPU Programming with Java
GPU Programming with Java
 
LibGDX: Cross Platform Game Development
LibGDX: Cross Platform Game DevelopmentLibGDX: Cross Platform Game Development
LibGDX: Cross Platform Game Development
 
Minko - Flash Conference #5
Minko - Flash Conference #5Minko - Flash Conference #5
Minko - Flash Conference #5
 

Recently uploaded

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
 
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 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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
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
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
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
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Recently uploaded (20)

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
 
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
 
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.
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
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
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
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
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
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
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
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
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

Regal

  • 1. Regal for OpenGL development Nigel T. Stewart NVIDIA Corporation August 4th, 2012
  • 2. Regal Goals Open Source There is nothing behind the curtain. You can see what Regal is doing and change it if needed. Portability Consistent OpenGL API that runs on all major platforms: Windows, Linux, Mac, iOS, and Android Compatible Immediate mode, fixed function, GL_QUADS work everywhere, emulated as necessary. Modern OpenGL API Direct State Access (DSA) and Vertex Array Object (VAO), emulated as necessary.
  • 3. Ease of Use Set breakpoints on OpenGL functions. Step into the code. Inspect state. Efficiency If it cannot be implemented efficiently in Regal, it is not universally supported. For example, tessellation support requires tessellation hardware.
  • 4. Regal is a Work-In-Progress Emulation for OpenGL ES and Desktop GL Core contexts. Fixed-function lighting using GLSL shaders. Direct-state-access emulation. Immediate mode emulation Logging See all the application calls into Regal See all the driver calls from Regal into OpenGL GL_EXT_debug_marker emulation
  • 5. Debugging Optional error checking layer. (glGetError) Access configuration, logs and GL state via HTTP. Other ideas (unimplemented as of now) Debugging checks Performance problems Statistics gathering – API coverage, time spent. Frame capture GL state capture and comparison.
  • 6. Imagined Uses for Regal Using Regal as a portability layer for developing games for Windows, Linux, Android, Mac and/or iOS. As a way of running OpenGL 1.x or 2.x code in a core OpenGL context. (Apple Mac or AMD GPU) As a way of porting Linux OpenGL games to mobile devices. As a common infrastructure for OpenGL development tools.
  • 7. More Information Source Code on github: https://github.com/p3/regal opengl.org forum thread: http://www.opengl.org/discussion_boards/showthread.php/1786 78-Introducing-Regal?p=1240974 Email: nstewart@nvidia.com