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

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
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
 
"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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
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
 
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
 
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
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Recently uploaded (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
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
 
"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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
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
 
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
 
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
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

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