6767 margin-right : 0.75em ;
6868}
6969
70- canvas {
70+ # logo- canvas {
7171 display : block;
7272 visibility : hidden;
7373 width : 256px ;
7878 padding : 0 ;
7979 border : none;
8080}
81+
82+ # bg-scene {
83+ height : 100% ;
84+ width : 100% ;
85+ position : absolute;
86+ left : 0 ;
87+ top : 0 ;
88+ }
89+
90+ .jumbotron {
91+ position : relative;
92+ }
93+
94+ @media only screen and (min-width : 768px )
95+ {
96+ .navbar-transparent
97+ {
98+ background-color : transparent !important ;
99+ transition : background-color 200ms linear;
100+ }
101+ }
81102</ style >
82103{% endblock %}
83104
84105{% block jumbotron %}
85- < div class ="jumbotron ">
106+ < div class ="jumbotron d-flex align-items-center min-vh-100 ">
107+ < div id ="bg-scene "> </ div >
86108 < div class ="container ">
87109 < div class ="row mt-5 ">
88- < div class ="col-md-6 mt-4 text-center ">
110+ < div class ="col-md-6 mt-4 pb-5 pb-md-0 text-center ">
89111 < img src ="xbox_logo.png " class ="img-fluid " width =450 />
90112 </ div >
91113 < div class ="col-md-6 ">
92114 < h1 class ="display-3 ">
93115 < canvas id ="logo-canvas " class ="gl-logo "> </ canvas >
94- < img id ="logo-fallback " alt ="xemu logo " src ="/logo-green.svg " style ="height: 1.03em; ">
116+ < img id ="logo-fallback " alt ="xemu logo " src ="/logo-green-jumbotron .svg " style ="height: 1.03em; ">
95117 </ h1 >
96- < h4 class ="card-subtitle mb-2 text-muted "> Original Xbox Emulator</ h4 >
118+ < h4 class ="card-subtitle mb-2 "> Original Xbox Emulator</ h4 >
97119 < p >
98120 A free and open-source application that emulates the original Microsoft
99121 Xbox game console, enabling people to play their original Xbox games on
@@ -103,21 +125,21 @@ <h4 class="card-subtitle mb-2 text-muted">Original Xbox Emulator</h4>
103125 < div class ="container pl-2 p-0 ">
104126 < div class ="row ">
105127 < div class ="column text-center text-md-left p-2 ">
106- < a class ="btn btn-secondary btn-lg " role ="button " id ="download-gen " href ="/docs/download ">
128+ < a class ="btn btn-green btn-lg " role ="button " id ="download-gen " href ="/docs/download ">
107129 < i class ="fa fa-laptop button-icon " aria-hidden ="true "> </ i > View Download Options
108130 </ a >
109- < a class ="btn btn-secondary btn-lg " role ="button " id ="download-win " style ="display: none " href ="https://github.com/mborgerson/xemu/releases/latest/download/xemu-win-release.zip ">
131+ < a class ="btn btn-green btn-lg " role ="button " id ="download-win " style ="display: none " href ="https://github.com/mborgerson/xemu/releases/latest/download/xemu-win-release.zip ">
110132 < i class ="fab fa-windows button-icon " aria-hidden ="true "> </ i > Download for Windows
111133 </ a >
112- < a class ="btn btn-secondary btn-lg " role ="button " id ="download-mac " style ="display: none " href ="https://github.com/mborgerson/xemu/releases/latest/download/xemu-macos-universal-release.zip ">
134+ < a class ="btn btn-green btn-lg " role ="button " id ="download-mac " style ="display: none " href ="https://github.com/mborgerson/xemu/releases/latest/download/xemu-macos-universal-release.zip ">
113135 < i class ="fab fa-apple button-icon " aria-hidden ="true "> </ i > Download for macOS
114136 </ a >
115- < a class ="btn btn-secondary btn-lg " role ="button " id ="download-linux " style ="display: none " href ="/docs/download/#download-for-linux ">
137+ < a class ="btn btn-green btn-lg " role ="button " id ="download-linux " style ="display: none " href ="/docs/download/#download-for-linux ">
116138 < i class ="fab fa-linux button-icon " aria-hidden ="true "> </ i > Download for Linux
117139 </ a >
118140 </ div >
119141 < div class ="column p-2 ">
120- < strong > Latest Release :</ strong > v{{xemu_build_version}} ({{xemu_build_date.strftime('%b %-d, %Y')}})
142+ < strong > Latest release :</ strong > v{{xemu_build_version}} ({{xemu_build_date.strftime('%b %-d, %Y')}})
121143 < br />
122144 < a href ="/docs/download " id ="download-options " style ="display: none "> Alternative download options</ a >
123145 </ div >
@@ -126,18 +148,12 @@ <h4 class="card-subtitle mb-2 text-muted">Original Xbox Emulator</h4>
126148
127149 </ div >
128150 </ div >
151+
129152 </ div >
130- < div class ="scroll "> </ div >
131153</ div >
132154{% endblock %}
133155
134156{% block content %}
135- < div class ="embed-responsive embed-responsive-16by9 ">
136- < iframe class ="embed-responsive-item " src ="https://www.youtube-nocookie.com/embed/?list=PLec5KNGR_nILyzdbQ8OyFpceyrTRUBNNU&autoplay=1&mute=1&modestbranding=1&loop=1 " frameborder ="0 " allow ="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture " allowfullscreen > </ iframe >
137- </ div >
138-
139- < hr >
140-
141157< h2 class ="mb-4 text-center "> Features</ h2 >
142158< div class ="row ">
143159 < div class ="col-md-4 ">
@@ -166,6 +182,10 @@ <h4><i class="fas fa-expand-alt feature-icon"></i> Render Scaling</h4>
166182 </ div >
167183</ div >
168184
185+ < hr >
186+ < div class ="embed-responsive embed-responsive-16by9 ">
187+ < iframe class ="embed-responsive-item " src ="https://www.youtube-nocookie.com/embed/?list=PLec5KNGR_nILyzdbQ8OyFpceyrTRUBNNU&autoplay=1&mute=1&modestbranding=1&loop=1 " frameborder ="0 " allow ="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture " allowfullscreen > </ iframe >
188+ </ div >
169189< hr >
170190
171191< div class ="" id ="compatibility ">
@@ -201,8 +221,6 @@ <h2 class="mb-4 text-center">Compatibility</h2>
201221{% endblock %}
202222
203223{% block append_foot %}
204- < script type ="text/javascript " src ="https://cdnjs.cloudflare.com/ajax/libs/jquery.lazy/1.7.10/jquery.lazy.min.js "> </ script >
205- < script type ="text/javascript " src ="https://cdnjs.cloudflare.com/ajax/libs/jquery.lazy/1.7.10/jquery.lazy.plugins.min.js "> </ script >
206224< script type ="text/javascript ">
207225// Show platform-specific download button
208226var platform = undefined ;
@@ -219,7 +237,63 @@ <h2 class="mb-4 text-center">Compatibility</h2>
219237 $ ( '#download-options' ) . show ( ) ;
220238}
221239</ script >
240+
241+ < script type ="text/javascript " src ="three.min.js "> </ script >
242+ < script type ="text/javascript ">
243+ var canvas = document . querySelector ( '#bg-scene' ) ;
244+ var scene = new THREE . Scene ( ) ;
245+ var camera = new THREE . PerspectiveCamera ( 50 , canvas . offsetWidth / canvas . offsetHeight , 0.1 , 1000 ) ;
246+ scene . fog = new THREE . Fog ( 'black' , 0.5 , 2.75 ) ;
247+ scene . background = new THREE . Color ( 'black' ) ;
248+
249+ var renderer = new THREE . WebGLRenderer ( ) ;
250+ renderer . setSize ( canvas . offsetWidth , canvas . offsetHeight ) ;
251+ renderer . setPixelRatio ( window . devicePixelRatio ) ;
252+ canvas . appendChild ( renderer . domElement ) ;
253+
254+ const texture = new THREE . TextureLoader ( ) . load ( "mesh_pattern.svg" ) ;
255+ texture . wrapS = THREE . RepeatWrapping ;
256+ texture . wrapT = THREE . RepeatWrapping ;
257+ texture . repeat . set ( 50 , - 25 ) ;
258+
259+ const geometry = new THREE . SphereGeometry ( 1 , 50 , 25 ) ;
260+ var material = new THREE . MeshBasicMaterial ( { map : texture , side : THREE . BackSide } ) ;
261+ var sphere = new THREE . Mesh ( geometry , material ) ;
262+ scene . add ( sphere ) ;
263+ camera . position . z = 1 ;
264+
265+ var clock = new THREE . Clock ( ) ;
266+ var render = function ( ) {
267+ requestAnimationFrame ( render ) ;
268+ var delta = clock . getDelta ( ) ;
269+ sphere . rotation . y += 0.01 * delta ;
270+ renderer . render ( scene , camera ) ;
271+ } ;
272+ render ( ) ;
273+ window . addEventListener ( 'resize' , function ( ) {
274+ camera . aspect = canvas . offsetWidth / canvas . offsetHeight ;
275+ camera . updateProjectionMatrix ( ) ;
276+ renderer . setSize ( canvas . offsetWidth , canvas . offsetHeight ) ;
277+ } , false ) ;
278+ </ script >
279+ < script type ="text/javascript " src ="gl_logo.js "> </ script >
280+ < script type ="text/javascript ">
281+ function updateNavbarTransparency ( ) {
282+ var nav = $ ( ".navbar" ) ;
283+ var t = $ ( document ) . scrollTop ( ) < ( $ ( ".jumbotron" ) [ 0 ] . offsetHeight - nav . height ( ) ) ;
284+ nav . toggleClass ( 'navbar-transparent' , t ) ;
285+ }
286+ $ ( document ) . scroll ( updateNavbarTransparency ) ;
287+ $ ( function ( ) {
288+ $ ( ".navbar-toggle" ) . click ( updateNavbarTransparency ) ;
289+ } ) ;
290+ updateNavbarTransparency ( ) ;
291+ </ script >
292+
222293< script type ="text/javascript " src ="https://cdn.jsdelivr.net/npm/apexcharts "> </ script >
294+ < script type ="text/javascript " src ="https://cdnjs.cloudflare.com/ajax/libs/jquery.lazy/1.7.10/jquery.lazy.min.js "> </ script >
295+ < script type ="text/javascript " src ="https://cdnjs.cloudflare.com/ajax/libs/jquery.lazy/1.7.10/jquery.lazy.plugins.min.js "> </ script >
296+
223297< script type ="text/javascript ">
224298// Lazy-load images
225299var lazyInstance = $ ( 'img.lazy' ) . Lazy ( {
@@ -383,5 +457,5 @@ <h2 class="mb-4 text-center">Compatibility</h2>
383457var chart = new ApexCharts ( document . querySelector ( "#title_stats" ) , options ) ;
384458chart . render ( ) ;
385459</ script >
386- < script type =" text/javascript " src =" gl_logo.js " > </ script >
460+
387461{% endblock %}
0 commit comments