OpenGL/Phix: Difference between revisions

m
marked p2js incompatible
(archived previous versions to a sub-page)
 
m (marked p2js incompatible)
 
(One intermediate revision by the same user not shown)
Line 3:
Adapted from the included demo\Arwen32dibdemo\shadepol.exw, draws the same thing as the image at the top of this page, but (as per the talk page) does not use openGL, just windows api (BitBlt etc) and some low-level fully open source routines (all included). Note this is windows 32bit only, whereas the pGUI example below it runs on windows/linx, 32/64bit.
 
<!--<lang Phix>(notonline)-->
<span style="color: #008080;">without</span> <span style="color: #008080;">js</span>
<span style="color: #008080;">include</span> <span style="color: #000000;">demo</span><span style="color: #0000FF;">\</span><span style="color: #000000;">Arwen32dibdemo</span><span style="color: #0000FF;">\</span><span style="color: #000000;">a32dpoly</span><span style="color: #0000FF;">.</span><span style="color: #000000;">ew</span>
Line 43 ⟶ 44:
And here is a proper openGL version, translated from Lua, and included in the distro as demo\pGUI\triangle.exw:
{{libheader|Phix/pGUI}}
<!--<lang Phix>(notonline)-->
<span style="color: #008080;">without</span> <span style="color: #008080;">js</span> <span style="color: #000080;font-style:italic;">-- (OpenGL 1.0)</span>
<span style="color: #008080;">include</span> <span style="color: #000000;">pGUI</span><span style="color: #0000FF;">.</span><span style="color: #000000;">e</span>
<span style="color: #008080;">include</span> <span style="color: #000000;">opengl</span><span style="color: #0000FF;">.</span><span style="color: #000000;">e</span>
Line 49 ⟶ 51:
<span style="color: #008080;">function</span> <span style="color: #000000;">resize_cb</span><span style="color: #0000FF;">(</span><span style="color: #004080;">Ihandle</span> <span style="color: #000080;font-style:italic;">/*ih*/</span><span style="color: #0000FF;">,</span> <span style="color: #004080;">integer</span> <span style="color: #000000;">width</span><span style="color: #0000FF;">,</span> <span style="color: #004080;">integer</span> <span style="color: #000000;">height</span><span style="color: #0000FF;">)</span>
<span style="color: #7060A8;">glViewport</span><span style="color: #0000FF;">(</span><span style="color: #000000;">0</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">0</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">width</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">height</span><span style="color: #0000FF;">)</span>
<span style="color: #7060A8;">glMatrixMode</span><span style="color: #0000FF;">(</span><span style="color: #000000004600;">GL_PROJECTION</span><span style="color: #0000FF;">)</span>
<span style="color: #7060A8;">glLoadIdentity</span><span style="color: #0000FF;">()</span>
<span style="color: #7060A8;">glOrtho</span><span style="color: #0000FF;">(-</span><span style="color: #000000;">30.0</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">30.0</span><span style="color: #0000FF;">,</span> <span style="color: #0000FF;">-</span><span style="color: #000000;">30.0</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">30.0</span><span style="color: #0000FF;">,</span> <span style="color: #0000FF;">-</span><span style="color: #000000;">30.0</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">30.0</span><span style="color: #0000FF;">)</span>
<span style="color: #7060A8;">glMatrixMode</span><span style="color: #0000FF;">(</span><span style="color: #000000004600;">GL_MODELVIEW</span><span style="color: #0000FF;">)</span>
<span style="color: #008080;">return</span> <span style="color: #004600;">IUP_DEFAULT</span>
<span style="color: #008080;">end</span> <span style="color: #008080;">function</span>
7,794

edits