/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠAnt on ĠTr ush kov Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . ks df v . the le ma . test . shader . node Ċ Ċ import Ġorg . ks df v . the le ma . app . APP Ċ import Ġorg . ks df v . the le ma . g 3 d . gl tf . GL TF Conf Ċ import Ġorg . ks df v . the le ma . gl . GL Ċ import Ġorg . ks df v . the le ma . gl . GL _ COLOR _ BUFFER _ BIT Ċ import Ġorg . ks df v . the le ma . gl . GL _ DEPTH _ BUFFER _ BIT Ċ import Ġorg . ks df v . the le ma . img . G Buffer Ċ import Ġorg . ks df v . the le ma . mesh . Screen Quad Ċ import Ġorg . ks df v . the le ma . test . GL TF Model Ċ import Ġorg . ks df v . the le ma . test . Test Ċ Ċ /** Ġ@ author Ġz eg an styl Ġ*/ Ċ class ĠG Buffer Test : ĠTest Ġ{ ĊĠĠĠ Ġoverride Ġval Ġname : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ" G - Buffer " ĊĊĠĠĠ Ġoverride Ġfun Ġtest Main () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( GL . is GLES ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( GL . gles M aj Ver Ġ< Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAPP . message Box (" Not Ġsupported ", Ġ" Requires ĠGLES Ġ 3 . 0 Ġ( Web GL Ġ 2 . 0 )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( GL . gles M aj Ver Ġ== Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! GL . enable Extension (" EXT _ color _ buffer _ float ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAPP . message Box (" Not Ġsupported ", Ġ" Render Ġto Ġfloat Ġtexture Ġnot Ġsupported ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġscreen Quad Ġ= ĠScreen Quad . Texture Renderer ( 0 f , Ġ 0 f , Ġ 0 . 5 f , Ġ 0 . 5 f ) ĊĊĠĠĠĠĠĠĠ Ġval Ġg Buffer Ġ= ĠG Buffer () ĊĊĠĠĠĠĠĠĠ Ġval Ġmodel Ġ= ĠGL TF Model ( conf Ġ= ĠGL TF Conf (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġseparate Thread Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetup G Buffer Shader Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshader Version Ġ= Ġ 3 3 0 ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠGL . is Depth Test Enabled Ġ= Ġtrue ĊĊĠĠĠĠĠĠĠ ĠGL . gl Clear Color ( 0 f , Ġ 0 f , Ġ 0 f , Ġ 1 f ) ĊĊĠĠĠĠĠĠĠ ĠGL . render Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGL . gl Clear ( GL _ COLOR _ BUFFER _ BIT Ġor ĠGL _ DEPTH _ BUFFER _ BIT ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġg Buffer . render Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGL . gl Clear ( GL _ COLOR _ BUFFER _ BIT Ġor ĠGL _ DEPTH _ BUFFER _ BIT ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel . update () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodel . render () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġscreen Quad . render ( g Buffer . color Map , Ġclear Mask Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscreen Quad . setPosition (- 0 . 5 f , Ġ 0 . 5 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġscreen Quad . render ( g Buffer . normal Map , Ġclear Mask Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscreen Quad . setPosition ( 0 . 5 f , Ġ 0 . 5 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġscreen Quad . render ( g Buffer . position Map , Ġclear Mask Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscreen Quad . setPosition (- 0 . 5 f , Ġ- 0 . 5 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġscreen Quad . render ( g Buffer . depth Map , Ġclear Mask Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscreen Quad . setPosition ( 0 . 5 f , Ġ- 0 . 5 f ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ