{"id":990,"date":"2012-04-29T14:41:50","date_gmt":"2012-04-29T06:41:50","guid":{"rendered":"http:\/\/www.magicandlove.com\/blog\/?p=990"},"modified":"2012-04-29T14:48:44","modified_gmt":"2012-04-29T06:48:44","slug":"opengl-and-processing-2-0","status":"publish","type":"post","link":"http:\/\/www.magicandlove.com\/blog\/2012\/04\/29\/opengl-and-processing-2-0\/","title":{"rendered":"OpenGL and Processing 2.0"},"content":{"rendered":"<p>The existing OpenGL codes for Processing do not work in the 2.0 alpha. Here is an example code segment I modify to use the new <a href=\"http:\/\/code.google.com\/p\/processing\/source\/browse\/trunk\/processing\/java\/libraries\/opengl\/src\/processing\/opengl\/PGL.java\">PGL<\/a> class.<\/p>\n<pre lang=\"java\">import processing.opengl.*;\r\nimport javax.media.opengl.*;\r\n\r\nGL2 gl;\r\nfloat t, s, c;\r\n\r\nvoid setup() {\r\n  size(400, 400, OPENGL);\r\n  background(0);\r\n  PGraphicsOpenGL pg = (PGraphicsOpenGL) g;\r\n  PGL pgl = pg.beginPGL();\r\n  gl = pgl.gl.getGL().getGL2();\r\n  pg.endPGL();\r\n  t = 0.0f;\r\n  s = 0.0f;\r\n  c = 0.0f;\r\n}\r\n\r\nvoid draw() {\r\n  t += 0.01;\r\n  s = sin(t);\r\n  c = cos(t);\r\n\r\n  gl.glClear(GL.GL_COLOR_BUFFER_BIT);\r\n  gl.glBegin(GL.GL_TRIANGLES);\r\n  gl.glColor3f(1, 0, 0);\r\n  gl.glVertex3f(-c, -c, s);\r\n  gl.glColor3f(0, 1, 0);\r\n  gl.glVertex3f(0, c, 0);\r\n  gl.glColor3f(0, 0, 1);\r\n  gl.glVertex3f(s, -s, c);\r\n  gl.glEnd();\r\n}<\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-992\" title=\"JOGL\" src=\"http:\/\/www.magicandlove.com\/blog\/wp-content\/uploads\/2012\/04\/jogl0408.png\" alt=\"\" width=\"400\" height=\"400\" srcset=\"http:\/\/www.magicandlove.com\/blog\/wp-content\/uploads\/2012\/04\/jogl0408.png 400w, http:\/\/www.magicandlove.com\/blog\/wp-content\/uploads\/2012\/04\/jogl0408-150x150.png 150w, http:\/\/www.magicandlove.com\/blog\/wp-content\/uploads\/2012\/04\/jogl0408-300x300.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The existing OpenGL codes for Processing do not work in the 2.0 alpha. Here is an example code segment I modify to use the new PGL class. import processing.opengl.*; import javax.media.opengl.*; GL2 gl; float t, s, c; void setup() { size(400, 400, OPENGL); background(0); PGraphicsOpenGL pg = (PGraphicsOpenGL) g; PGL pgl = pg.beginPGL(); gl = [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[66],"tags":[75,62],"class_list":["post-990","post","type-post","status-publish","format-standard","hentry","category-testing","tag-opengl","tag-processing-org"],"_links":{"self":[{"href":"http:\/\/www.magicandlove.com\/blog\/wp-json\/wp\/v2\/posts\/990","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.magicandlove.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.magicandlove.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.magicandlove.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.magicandlove.com\/blog\/wp-json\/wp\/v2\/comments?post=990"}],"version-history":[{"count":3,"href":"http:\/\/www.magicandlove.com\/blog\/wp-json\/wp\/v2\/posts\/990\/revisions"}],"predecessor-version":[{"id":994,"href":"http:\/\/www.magicandlove.com\/blog\/wp-json\/wp\/v2\/posts\/990\/revisions\/994"}],"wp:attachment":[{"href":"http:\/\/www.magicandlove.com\/blog\/wp-json\/wp\/v2\/media?parent=990"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.magicandlove.com\/blog\/wp-json\/wp\/v2\/categories?post=990"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.magicandlove.com\/blog\/wp-json\/wp\/v2\/tags?post=990"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}