DNFGUI: The Myth, the Legend Michael “ArenMook” Lyashenko Senior Software Engineer.

Post on 14-Jan-2016

221 views 5 download

transcript

DNFGUI: The Myth, the Legend

Michael “ArenMook” LyashenkoSenior Software Engineer

DNFGUI? What?

DNFGUI? What?

• Did Not Finish GUI!

DNFGUI? What?

• Did Not Finish GUI!• Da New Foshizzlin GUI!

DNFGUI? What?

• Did Not Finish GUI!• Da New Foshizzlin GUI!• Dat New Freakin’ GUI!

DNFGUI? What?

• Did Not Finish GUI!• Da New Foshizzlin GUI!• Dat New Freakin’ GUI!

• …wat?

DNFGUI? What?

• Did Not Finish GUI?• Da New Foshizzlin GUI?• Dat New Freakin’ GUI?• Duke Nukem Forever GUI?

• (no, not really!)

DNFGUI? What?

• Immediate Mode GUI (IMGUI / OnGUI)

Unity GUI Systems

• Immediate Mode GUI (IMGUI)• Retained Mode GUI (RMGUI)

Unity GUI Systems

• Rigid architecture

Retained Mode GUI

• Rigid architecture• GUITransform

Retained Mode GUI

• Rigid architecture• GUITransform• Screen size support

Retained Mode GUI

• Rigid architecture• GUITransform• Screen size support• No HD/SD atlas swapping

Retained Mode GUI

• Rigid architecture• GUITransform• Screen size support• No HD/SD atlas swapping• No dynamic UIs

Retained Mode GUI

• Rigid architecture• GUITransform• Screen size support• No HD/SD atlas swapping• No dynamic UIs• NGUI was easier

Retained Mode GUI

Unity GUI Systems

• Z/Depth issues

Next-Gen UI kit

• Z/Depth issues

Next-Gen UI kit

• Z/Depth issues• Atlases suck!

Next-Gen UI kit

• Z/Depth issues• Atlases suck!• Nested widgets

Next-Gen UI kit

• Z/Depth issues• Atlases suck!• Nested widgets• Square clipping

Next-Gen UI kit

• Z/Depth issues• Atlases suck!• Nested widgets• Square clipping• Labels / fonts

Next-Gen UI kit

• Extensible

Event System

• Extensible• Mouse, touch and controller

Event System

• Extensible• Mouse, touch and controller• Event bubbling

Event System

• Extensible• Mouse, touch and controller• Event bubbling• Multiple event triggers

Event System

• Sprite-based

Unity GUI

• Sprite-based• Material effects

Unity GUI

• Sprite-based• Material effects• Automatic atlasing & batching

Unity GUI

• Sprite-based• Material effects• Automatic atlasing & batching• No Z or Depth issues

Unity GUI

• Sprite-based• Material effects• Automatic atlasing & batching• No Z or Depth issues• Width & height, not scale

Unity GUI

• Sprite-based• Material effects• Automatic atlasing & batching• No Z or Depth issues• Width & height, not scale• Dynamic fonts

Unity GUI

• Sprite-based• Material effects• Automatic atlasing & batching• No Z or Depth issues• Width & height, not scale• Dynamic fonts• Stencil-based clipping

Unity GUI

• Sprite-based• Material effects• Automatic atlasing & batching• No Z or Depth issues• Width & height, not scale• Dynamic fonts• Stencil-based clipping• More…

Unity GUI