<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8298481343865845891</id><updated>2012-02-01T22:55:49.110-08:00</updated><category term='computer science'/><category term='education'/><category term='stable'/><category term='mouse'/><category term='feature'/><category term='java'/><category term='programming'/><category term='development'/><category term='history'/><category term='3D graphics'/><category term='new'/><category term='env3d'/><category term='version'/><category term='release'/><category term='bluej'/><category term='website'/><category term='gaming'/><category term='computer sicence'/><category term='teaching'/><title type='text'>env3d</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://env3d.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://env3d.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jason Madar</name><uri>http://www.blogger.com/profile/18033395525387633469</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8298481343865845891.post-1931366828597741782</id><published>2012-02-01T22:55:00.000-08:00</published><updated>2012-02-01T22:55:49.157-08:00</updated><title type='text'>Scene Creator is now available for NetBeans</title><content type='html'>Due to popular demand, I have updated the Env3D NetBeans plugin to include support for the Scene Creator!&amp;nbsp; Check out the following video for an overview of this feature...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object width="320" height="266" class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/hunI41JR_SI/0.jpg"&gt;&lt;param name="movie" value="http://www.youtube.com/v/hunI41JR_SI?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="320" height="266"  src="http://www.youtube.com/v/hunI41JR_SI?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8298481343865845891-1931366828597741782?l=env3d.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://env3d.blogspot.com/feeds/1931366828597741782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8298481343865845891&amp;postID=1931366828597741782' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/1931366828597741782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/1931366828597741782'/><link rel='alternate' type='text/html' href='http://env3d.blogspot.com/2012/02/scene-creator-is-now-available-for.html' title='Scene Creator is now available for NetBeans'/><author><name>Jason Madar</name><uri>http://www.blogger.com/profile/18033395525387633469</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8298481343865845891.post-5956187747913455470</id><published>2011-11-02T16:32:00.000-07:00</published><updated>2011-11-02T18:17:35.188-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='env3d'/><category scheme='http://www.blogger.com/atom/ns#' term='3D graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='education'/><category scheme='http://www.blogger.com/atom/ns#' term='teaching'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='bluej'/><category scheme='http://www.blogger.com/atom/ns#' term='computer science'/><title type='text'>Introducing: the Env3D Scene Creator</title><content type='html'>It started out as a small bug fix to the "Start Env3D" visualization tool, and quickly evolved into a full blown framework and code generation tool.&amp;nbsp; The new Scene Creator in Env3D has to ability to setup a scene in env3d using drag and drop instead of creating and placing the objects in code&amp;nbsp; -- allowing students to create nicer looking games in a fraction of the time.&amp;nbsp; Furthermore, all the learning objectives are enhanced by allowing students to examine and modify generated source code.&lt;br /&gt;&lt;h1&gt;Inspiration&lt;/h1&gt;I have always wanted to integrate drag-and-drop functionality into env3d -- it just makes so much more sense than placing objects in code using a series of env.addObject(...) calls.&amp;nbsp; The idea really came from &lt;a href="http://alice.org/"&gt;Alice&lt;/a&gt; - a complete drag-and-drop 3D programming environment.&amp;nbsp; While Alice is wonderful tool for students learning to program for the first time, the drawback of Alice, in my opinion, is that students are limited to drag and drop, so it is not very suitable for non-beginners trying to write more complex software.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Another wonderful piece of software from the BlueJ team - &lt;a href="http://greenfoot.org/"&gt;Greenfoot&lt;/a&gt;, takes a different approach.&amp;nbsp; It is a 2D programming environment with some drag-and-drop support.&amp;nbsp; The major difference between Greenfoot and Alice is that students actually learn how to program in Java.&amp;nbsp; Greenfoot simply provides drag-and-drop support for placement of objects, and a framework so that students can focus on programming individual objects instead of creating everything from scratch.&lt;br /&gt;&lt;br /&gt;The Scene Creator in Env3D takes inspiration from both Alice and Greenfoot.&amp;nbsp; It has a 3D drag-and-drop interface for object placement, but generates a Greenfoot-like framework where students must customize using Java.&amp;nbsp; I suppose this could be a "best-of-both-worlds" solution, at least from my point of view :)&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;Getting started&lt;/h1&gt;To get started, download the latest development version of &lt;a href="http://sourceforge.net/projects/env3d/files/env3d_template.zip/download" target="_blank"&gt;env3d_template.zip&lt;/a&gt; and extract to a directory of your choice.&amp;nbsp; Then start BlueJ and open the extracted directory (which is a BlueJ project).&lt;br /&gt;&lt;br /&gt;After the env3d_template project is opened, go to the tools menu and select Env3D, you'll find the "Env3D Scene Creator" option available.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-q0KwgkEI6c0/TrHDQy_VnHI/AAAAAAAAABs/PgvQhajOcXg/s1600/Screen+shot+2011-11-02+at+3.24.03+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="249" src="http://3.bp.blogspot.com/-q0KwgkEI6c0/TrHDQy_VnHI/AAAAAAAAABs/PgvQhajOcXg/s320/Screen+shot+2011-11-02+at+3.24.03+PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;If this is your first time, you'll be presented with a black window and a few drop down menu items across the top.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-LDcnbmLWIFk/TrHIlcLL7XI/AAAAAAAAAB0/xYSL6D_WFNs/s1600/Screen+shot+2011-11-02+at+3.47.16+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="234" src="http://3.bp.blogspot.com/-LDcnbmLWIFk/TrHIlcLL7XI/AAAAAAAAAB0/xYSL6D_WFNs/s320/Screen+shot+2011-11-02+at+3.47.16+PM.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;The first 3 drop-down menus allows you to choose the background, the ground type, the third one allows you to drop a model into the environment.&amp;nbsp; Probably best to show how it works with a video:&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/8DoFoD6Kw9Y" width="560"&gt;&lt;/iframe&gt;&lt;br /&gt;Feel free to change the background and the ground at any time, I have included lots of different backgrounds and floor textures.&amp;nbsp; They are located in the "textures/skybox" and "textures/floor" directory if you want to add to or remove from it.&lt;br /&gt;&lt;br /&gt;The most exciting part is of course adding models.&amp;nbsp; The scene creator scans the models/ directory for appropriate models.&amp;nbsp; Once you have chosen the model from the models drop-down menu, you are entered into "Object Edit Mode" where the mouse will be grabbed by the 3D window.&amp;nbsp; In edit mode, you navigate with W, A, S, D keys for movement, and the mouse for looking around (just like a modern video game).&amp;nbsp; When an object is selected, it will be shown in wireframe.&amp;nbsp; You can use the UP and DOWN arrows keys to resize the object, and the LEFT and RIGHT arrow keys to rotate the obejct.&amp;nbsp; Clicking on the mouse will place the currently selected object into the environment.&amp;nbsp; Pressing ESCAPE will take you out of edit mode and you get your mouse back.&lt;br /&gt;&lt;h1&gt;Generating Code&lt;/h1&gt;When you hit the save button, the code will be generated in the BlueJ project.&amp;nbsp; Each model is one class, and is inherited from the GameObject class (for the Greenfoot users, this is roughly equivalent to the Actor class in Greenfoot).&amp;nbsp; The Game class is where the game can be launched.&lt;br /&gt;&lt;br /&gt;The GameObject class has an empty method called move().&amp;nbsp; This move() method is called every frame of the game, so various animations and game logic can be implemented by overriding the move() method in sub-classes, as shown in the above video.&lt;br /&gt;&lt;h1&gt;Conclusion&lt;/h1&gt;That's it for our basic tour of the Env3D Scene Creator.&amp;nbsp; Read the code to the GameObject class and the Game class for an idea of how the framework is setup (it is very similar to the Greenfoot framework).&lt;br /&gt;&lt;br /&gt;There are lots more to the Scene Creator, including support for animated models, that is not covered by this introductory article.&amp;nbsp; I will be posting more articles soon, so stay tuned!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8298481343865845891-5956187747913455470?l=env3d.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://env3d.blogspot.com/feeds/5956187747913455470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8298481343865845891&amp;postID=5956187747913455470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/5956187747913455470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/5956187747913455470'/><link rel='alternate' type='text/html' href='http://env3d.blogspot.com/2011/11/introducing-env3d-scene-creator.html' title='Introducing: the Env3D Scene Creator'/><author><name>Jason Madar</name><uri>http://www.blogger.com/profile/18033395525387633469</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-q0KwgkEI6c0/TrHDQy_VnHI/AAAAAAAAABs/PgvQhajOcXg/s72-c/Screen+shot+2011-11-02+at+3.24.03+PM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8298481343865845891.post-3885972936310817060</id><published>2011-08-03T22:43:00.000-07:00</published><updated>2011-08-03T23:25:12.671-07:00</updated><title type='text'>The Env3D NetBeans Plugin</title><content type='html'>BlueJ is a great IDE for learning Java.  It has everything that a beginner needs to get up and running, has an intuitive UI, and allows dynamic creation of objects without writing a "main" method.&lt;br /&gt;&lt;br /&gt;The one thing that BlueJ is not intended to do, however, is medium to large size Java development.  In my experience (and many students have also observed this), once your program hits 20+ classes, it is a good time to move to a more "professional" IDE, something like NetBeans or Eclipse.&lt;br /&gt;&lt;br /&gt;I have been a NetBeans user since 2002, and I use NetBeans to create Env3D itself, so when I think about writing large Env3D programs, I naturally wanted to use NetBeans.&lt;br /&gt;&lt;br /&gt;So I have decided that it is time to write a plugin for NetBeans so students can have a way to migrate to a professional IDE.  My initial requirements are as follows:&lt;br /&gt;&lt;br /&gt;1) A way to create a "Env3D Project"&lt;br /&gt;2) Env3D Projects are visually recognized by the IDE&lt;br /&gt;3) All the deployments options (Applet, Webstart) must be there&lt;br /&gt;4) Must have an easy way to update the project to use the latest version of env3d&lt;br /&gt;&lt;br /&gt;I am pleased to announce that after many hours of studying (googling, trail and error, tears), I finally managed to create an Env3D module that satisfies the above requirements!  To obtain this plug-in, first you must install NetBeans.  Then go to the "Tools" pull-down menu and choose "Plugins".&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-3hVz2_eDiYg/Tjo2Eyy86qI/AAAAAAAAAAs/BAUS5xCZhlE/s1600/Screen%2Bshot%2B2011-08-03%2Bat%2B11.01.58%2BPM.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 186px;" src="http://4.bp.blogspot.com/-3hVz2_eDiYg/Tjo2Eyy86qI/AAAAAAAAAAs/BAUS5xCZhlE/s320/Screen%2Bshot%2B2011-08-03%2Bat%2B11.01.58%2BPM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5636877339590453922" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You'll need to tell NetBeans where to get the Env3D plugin.  From the Plugin dialog box, go to the "Settings" tab and click on "Add", then fill in the following information:&lt;br /&gt;&lt;br /&gt;Name: Env3DModule Update Center&lt;br /&gt;URL: http://env3d.org/netbeans/updates/updates.xml&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-Fir6JHJJm4k/Tjo3WuWwlrI/AAAAAAAAAA0/pOPBVZ6gyYg/s1600/Screen%2Bshot%2B2011-08-03%2Bat%2B11.08.05%2BPM.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 194px;" src="http://3.bp.blogspot.com/-Fir6JHJJm4k/Tjo3WuWwlrI/AAAAAAAAAA0/pOPBVZ6gyYg/s320/Screen%2Bshot%2B2011-08-03%2Bat%2B11.08.05%2BPM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5636878747147736754" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once you have added the env3d update server, you can now go to the "Available Plugins" tab.  The Env3D Module is now available for install (if not, click on the "Reload Catalog" button to refresh the list).  &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-c2Zdxu5bUfI/Tjo33rk7x1I/AAAAAAAAAA8/wQkNJ32b7Nw/s1600/Screen%2Bshot%2B2011-08-03%2Bat%2B11.10.10%2BPM.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 194px;" src="http://2.bp.blogspot.com/-c2Zdxu5bUfI/Tjo33rk7x1I/AAAAAAAAAA8/wQkNJ32b7Nw/s320/Screen%2Bshot%2B2011-08-03%2Bat%2B11.10.10%2BPM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5636879313337567058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once the plugin is installed, when you go to create a new project, you'll see a new project type under "Java".&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-YkVZdQyPK10/Tjo4l6ADqRI/AAAAAAAAABE/2YHXN5YKQaw/s1600/Screen%2Bshot%2B2011-08-03%2Bat%2B11.13.18%2BPM.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 227px;" src="http://3.bp.blogspot.com/-YkVZdQyPK10/Tjo4l6ADqRI/AAAAAAAAABE/2YHXN5YKQaw/s320/Screen%2Bshot%2B2011-08-03%2Bat%2B11.13.18%2BPM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5636880107483408658" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;All Env3D projects will have a special icon within the IDE.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-bOhF3JxqpVU/Tjo5JGQctjI/AAAAAAAAABM/rlsZoeBNi70/s1600/Screen%2Bshot%2B2011-08-03%2Bat%2B11.15.34%2BPM.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 242px;" src="http://1.bp.blogspot.com/-bOhF3JxqpVU/Tjo5JGQctjI/AAAAAAAAABM/rlsZoeBNi70/s320/Screen%2Bshot%2B2011-08-03%2Bat%2B11.15.34%2BPM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5636880712068806194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you right click on the project, the context menu will now have a new item "Env3D Menu".  All deployment methods from BlueJ are available.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-5ObBSrO5G2o/Tjo5u3x7AzI/AAAAAAAAABU/QPqgOaJeLeA/s1600/Screen%2Bshot%2B2011-08-03%2Bat%2B11.18.04%2BPM.png"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 320px; height: 220px;" src="http://3.bp.blogspot.com/-5ObBSrO5G2o/Tjo5u3x7AzI/AAAAAAAAABU/QPqgOaJeLeA/s320/Screen%2Bshot%2B2011-08-03%2Bat%2B11.18.04%2BPM.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5636881361017701170" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The last menu item, "Update Env3D Library" will automatically download the latest version of env3d from sourceforge, so your project can be kept up-to-date with the latest and greatest features.&lt;br /&gt;&lt;br /&gt;That's it for now.  Please test this out and let me know if there are any issues.&lt;br /&gt;&lt;br /&gt;Happy programming!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8298481343865845891-3885972936310817060?l=env3d.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://env3d.blogspot.com/feeds/3885972936310817060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8298481343865845891&amp;postID=3885972936310817060' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/3885972936310817060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/3885972936310817060'/><link rel='alternate' type='text/html' href='http://env3d.blogspot.com/2011/08/env3d-netbeans-plugin.html' title='The Env3D NetBeans Plugin'/><author><name>Jason Madar</name><uri>http://www.blogger.com/profile/18033395525387633469</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-3hVz2_eDiYg/Tjo2Eyy86qI/AAAAAAAAAAs/BAUS5xCZhlE/s72-c/Screen%2Bshot%2B2011-08-03%2Bat%2B11.01.58%2BPM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8298481343865845891.post-6803460693850686208</id><published>2011-07-14T11:40:00.000-07:00</published><updated>2011-07-14T12:10:07.664-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='version'/><category scheme='http://www.blogger.com/atom/ns#' term='env3d'/><category scheme='http://www.blogger.com/atom/ns#' term='stable'/><category scheme='http://www.blogger.com/atom/ns#' term='development'/><title type='text'>Release of stable and development versions</title><content type='html'>As you probably know, Env3D uses &lt;a href="http://jmonkeyengine.org/"&gt;JavaMonkeyEngine&lt;/a&gt; (jME) internally.  By using a commercial quality 3d engine, env3d gains the ability to take advantage of the latest graphics technology available to Java.  It also provides a path for env3d users to access jME features to create visually sophisticated software.  The latest lessons on nifty gui and particle system are examples of how env3d can access internal jME features.&lt;br /&gt;&lt;br /&gt;All these, of course, came with a price.  The latest version of jME makes exclusive use of shaders technology, which means it may not run on older hardware.  To make env3d available to as many people as possible, I have decided to maintain 2 versions of env3d:  &lt;br /&gt;&lt;br /&gt;1) A "stable" version which is compatible with more hardware, but does not have access to all the latest and greatest features (Part III of the &lt;a href="http://env3d.org/beta/lessons"&gt;lessons&lt;/a&gt; page).&lt;br /&gt;&lt;br /&gt;2) A "development" version that have full access to all the features, but need better graphics hardware.&lt;br /&gt;&lt;br /&gt;Both versions can be downloaded on the &lt;a href="http://env3d.org/beta/download"&gt;download&lt;/a&gt; page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8298481343865845891-6803460693850686208?l=env3d.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://env3d.blogspot.com/feeds/6803460693850686208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8298481343865845891&amp;postID=6803460693850686208' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/6803460693850686208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/6803460693850686208'/><link rel='alternate' type='text/html' href='http://env3d.blogspot.com/2011/07/release-of-stable-and-development.html' title='Release of stable and development versions'/><author><name>Jason Madar</name><uri>http://www.blogger.com/profile/18033395525387633469</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8298481343865845891.post-1177589320240568900</id><published>2011-03-12T09:24:00.000-08:00</published><updated>2011-03-12T09:31:38.017-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='env3d'/><category scheme='http://www.blogger.com/atom/ns#' term='3D graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='mouse'/><category scheme='http://www.blogger.com/atom/ns#' term='feature'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='gaming'/><title type='text'>Mouse picking</title><content type='html'>The latest version of env3d adds the ability to use the mouse to interact with objects in 3D space.  &lt;br /&gt;&lt;br /&gt;Previously, the only mouse position related methods are Env.getMouseX(), and Env.getMouseY().  These methods return only the screen coordinates but not the pointer coordinates in 3D space.  This makes it hard to implement features such as using a mouse of select an object inside the 3D environment.&lt;br /&gt;&lt;br /&gt;Users of env3d now has a few more methods to use, the details can be found at http://env3d.org/beta/node/113.&lt;br /&gt;&lt;br /&gt;Perhaps that most important method is Env.getPick(int screenX, int screenY).  This method takes the screen's x and y coordinate and returns the first object in 3D space under that coordinate.  The object returned is of the generic Object type so users will have to cast it to the appropriate type before using it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8298481343865845891-1177589320240568900?l=env3d.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://env3d.blogspot.com/feeds/1177589320240568900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8298481343865845891&amp;postID=1177589320240568900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/1177589320240568900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/1177589320240568900'/><link rel='alternate' type='text/html' href='http://env3d.blogspot.com/2011/03/mouse-picking.html' title='Mouse picking'/><author><name>Jason Madar</name><uri>http://www.blogger.com/profile/18033395525387633469</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8298481343865845891.post-8316054434724777996</id><published>2011-01-15T10:12:00.000-08:00</published><updated>2011-01-15T17:00:48.525-08:00</updated><title type='text'>New lessons and version</title><content type='html'>I'm teaching part 2 of the &lt;a href="http://bluej.org"&gt;BlueJ&lt;/a&gt; textbook this term.  Since I have had lots of successes with using Env3D on part 1 of the book, I figure it is time to work on lessons based on part 2.&lt;br /&gt;&lt;br /&gt;I decided to use the "Foxes and Rabbits" simulation from Chapter 10 as inspiration for my new lessons.  The result is "Fox vs Tux".  Here is a video of how it looks:&lt;br /&gt;&lt;br /&gt;&lt;object width="435" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/YuXG5Vg8H54?fs=1&amp;amp;hl=en_US&amp;amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/YuXG5Vg8H54?fs=1&amp;amp;hl=en_US&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;I have also been experimenting with terrain generation (as the flat surface gets kind of boring after a while).  The latest version of Env3D has the ability to generate outdoor terrains (the documentation is under Part III of the Env3D lessons).  Here is a video of the "Fox vs Tux" simulation taking place in an outdoor environment:&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/tK_Tqz0fayE?fs=1&amp;amp;hl=en_US&amp;amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/tK_Tqz0fayE?fs=1&amp;amp;hl=en_US&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;You can find the new lessons under the "Lessons" link on &lt;a href="http://env3d.org"&gt;http://env3d.org&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8298481343865845891-8316054434724777996?l=env3d.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://env3d.blogspot.com/feeds/8316054434724777996/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8298481343865845891&amp;postID=8316054434724777996' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/8316054434724777996'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/8316054434724777996'/><link rel='alternate' type='text/html' href='http://env3d.blogspot.com/2011/01/new-lessons-and-version.html' title='New lessons and version'/><author><name>Jason Madar</name><uri>http://www.blogger.com/profile/18033395525387633469</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8298481343865845891.post-1999335179097184466</id><published>2011-01-07T13:20:00.000-08:00</published><updated>2011-01-07T13:27:55.080-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='env3d'/><category scheme='http://www.blogger.com/atom/ns#' term='website'/><title type='text'>env3d.org launched</title><content type='html'>Very exciting news -- Over Christmas, one of my students, Kenny, decided to create a community website for Env3D.  The result is http://env3d.org.  This new site has lots of features, including community forums, applet sharing, and all of the lessons from the old sourceforge site.&lt;br /&gt;&lt;br /&gt;Enjoy the new site and give us some feedback on our forum!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8298481343865845891-1999335179097184466?l=env3d.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://env3d.blogspot.com/feeds/1999335179097184466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8298481343865845891&amp;postID=1999335179097184466' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/1999335179097184466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/1999335179097184466'/><link rel='alternate' type='text/html' href='http://env3d.blogspot.com/2011/01/env3dorg-launched.html' title='env3d.org launched'/><author><name>Jason Madar</name><uri>http://www.blogger.com/profile/18033395525387633469</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8298481343865845891.post-3263484912363365573</id><published>2010-11-05T14:49:00.000-07:00</published><updated>2010-11-05T14:53:43.531-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='env3d'/><category scheme='http://www.blogger.com/atom/ns#' term='3D graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='history'/><category scheme='http://www.blogger.com/atom/ns#' term='computer science'/><title type='text'>A little history of Env3D</title><content type='html'>One of my students asked me recently about the history of Env3D.  I thought I'd share it here:&lt;br /&gt;&lt;br /&gt;It was 2002, I wanted to learn opengl and see if there was any way Java can use hardware acceleration. During my research, I came across 2 opengl wrapper libraries: LWJGL and JOGL. LWJGL is a community driven project while JOGL is supported by Sun (the company behind Java).&lt;br /&gt;&lt;br /&gt;While the logical decision was to go with JOGL, I decided to use LWJGL instead as it has a much more active and vibrant community (just visit http://lwjgl.org to see for yourself). The result was a simple 3D engine which I used to create a few simple demos, but nothing that students can actually use.&lt;br /&gt;&lt;br /&gt;Fast forward to 2006, machines have gotten more powerful and 3D hardware acceleration is available on even the cheapest of the motherboards, so I thought it might be interesting to use 3D graphics to teach first year Java. At the same time, we switched to the BlueJ textbook which is excellent, but in my opinion, lacks the "visual punch". So I started writing the first version of Env3D to support the textbook. That first version was based on the simple engine that I created back in 2002.&lt;br /&gt;&lt;br /&gt;After using Env3D for the first time back in 2007, I realized that the library can be used for much more than just to support BlueJ -- it is actually a general purpose library that students can use to create fun little flash like games. There are 2 problems:&lt;br /&gt;&lt;br /&gt;1) It's not easy to distribute the game to others -- it's not good to have your user install BlueJ and the Java JDK.&lt;br /&gt;&lt;br /&gt;2) The underlying engine was not powerful enough to support high-end features like bone animation, shaders, etc.&lt;br /&gt;&lt;br /&gt;The first problem was relatively easy to solve, it turned out that the LWJGL community had already come up with a way to turn LWJGL programs into applets! So I modified some of my code and added a a new feature in the Env3D-BlueJ extension to automate the creation of applets.&lt;br /&gt;&lt;br /&gt;The second problem was much harder to solve, in order to support state-of-the-art graphical features, I needed to re-program my custom engine. I decided that it was too much work for one guy, so I started looking around for an alternative engine that Env3D can be based on. My research resulted in the javamonkey engine (http://www.jmonkeyengine.com/ ). It is an open-source engine that has all the features that I wanted, and it uses LWJGL for rendering! So for the past many months, I worked really hard to switch the internals of Env3D to use the Java Monkey engine. The version that you are using right now is the result of my months-long effort. In theory, future versions of Env3D can now use all of the features of the JavaMonkey engine!&lt;br /&gt;&lt;br /&gt;So, in a nutshell, this is how the Env3D library look now:&lt;br /&gt;&lt;br /&gt;Your program --&gt; Env3D --&gt; Java Monkey Engine --&gt; LWJGL --&gt; 3D hardware.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8298481343865845891-3263484912363365573?l=env3d.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://env3d.blogspot.com/feeds/3263484912363365573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8298481343865845891&amp;postID=3263484912363365573' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/3263484912363365573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/3263484912363365573'/><link rel='alternate' type='text/html' href='http://env3d.blogspot.com/2010/11/little-history-of-env3d.html' title='A little history of Env3D'/><author><name>Jason Madar</name><uri>http://www.blogger.com/profile/18033395525387633469</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8298481343865845891.post-8555420678429629062</id><published>2009-11-20T10:19:00.000-08:00</published><updated>2010-01-21T17:34:17.787-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='3D graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='education'/><category scheme='http://www.blogger.com/atom/ns#' term='teaching'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><category scheme='http://www.blogger.com/atom/ns#' term='computer science'/><category scheme='http://www.blogger.com/atom/ns#' term='gaming'/><title type='text'>Site redesign and new version</title><content type='html'>I have completely redesigned the env3d website.  Besides looking way better, I have also included complete lessons on how to use env3d in CS1.  You can find them under the "Learn" section of the website.&lt;br /&gt;&lt;br /&gt;A new version of env3d is also available.  A couple of major changes:&lt;br /&gt;&lt;br /&gt; * No need to "install" the extension anymore.  Simply download and open the blank project, and follow the lessons to add your own code.&lt;br /&gt;&lt;br /&gt; * You can now create 3D-accelerated applets for online distribution.&lt;br /&gt;&lt;br /&gt;If you like env3d or have questions or comments, feel free to drop me a line.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8298481343865845891-8555420678429629062?l=env3d.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://env3d.blogspot.com/feeds/8555420678429629062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8298481343865845891&amp;postID=8555420678429629062' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/8555420678429629062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/8555420678429629062'/><link rel='alternate' type='text/html' href='http://env3d.blogspot.com/2009/11/site-redesign-and-new-version.html' title='Site redesign and new version'/><author><name>Jason Madar</name><uri>http://www.blogger.com/profile/18033395525387633469</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8298481343865845891.post-515888531339272895</id><published>2009-09-16T19:38:00.000-07:00</published><updated>2009-09-16T19:45:20.194-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='env3d'/><category scheme='http://www.blogger.com/atom/ns#' term='teaching'/><category scheme='http://www.blogger.com/atom/ns#' term='new'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='bluej'/><category scheme='http://www.blogger.com/atom/ns#' term='computer science'/><title type='text'>I'm back!</title><content type='html'>After working in industry for over a year, I am now back teaching.  In my absence, some of my colleagues have used env3d in their courses with positive results.  I'm glad and will continue to develop and support the software.&lt;br /&gt;&lt;br /&gt;The code repository is now subversion and I have cleaned up the code a bit.  The latest version will work on both mac and windows and the bluej extension will work with BlueJ version 2.5.2.  In this new version, you no longer have to install the env3d extension for BlueJ, the extension will work on a per project basis.&lt;br /&gt;&lt;br /&gt;The OSX 64bit conversion is a bit of a mess to deal with.  It seems that BlueJ 2.5.2 on the Mac will default to use 64bit Java 1.6 and will not honor the Java Preferences setting.&lt;br /&gt;&lt;br /&gt;I have also been experimenting with the Wii Remote and have integrated it into env3d, so students can interface with the Wii Remote controller directly.&lt;br /&gt;&lt;br /&gt;Hopefully, I will have some time to do a new release soon, as well as revamp the website.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8298481343865845891-515888531339272895?l=env3d.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://env3d.blogspot.com/feeds/515888531339272895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8298481343865845891&amp;postID=515888531339272895' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/515888531339272895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/515888531339272895'/><link rel='alternate' type='text/html' href='http://env3d.blogspot.com/2009/09/im-back.html' title='I&apos;m back!'/><author><name>Jason Madar</name><uri>http://www.blogger.com/profile/18033395525387633469</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8298481343865845891.post-1675157594779032585</id><published>2007-12-21T08:13:00.000-08:00</published><updated>2007-12-21T08:24:51.168-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3D graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='teaching'/><category scheme='http://www.blogger.com/atom/ns#' term='gaming'/><category scheme='http://www.blogger.com/atom/ns#' term='computer sicence'/><title type='text'>Wrapping up for the year</title><content type='html'>Well, I have just finished using env3d in my first year class.  Feedbacks from students are very positive.  I have also learned a lot about designing a good API and have been making changes to env3d through each assignment.  Lots of work but I think the results are worth it.  Here are some &lt;a href="http://www.youtube.com/jasonmadar"&gt;students videos&lt;/a&gt; on youtube.&lt;br /&gt;&lt;br /&gt;I'm now working on using env3d in the follow-up course which teaches inheritance and software design.  A few new improvements are already in CVS, the most notable being a new EnvCanvas class for use in GUI applications, a new EnvObject base class, and a new EnvObjectInterface.  These new classes will (hopefully) be used to illustrate the usefulness of an inheritance hierarchy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8298481343865845891-1675157594779032585?l=env3d.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://env3d.blogspot.com/feeds/1675157594779032585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8298481343865845891&amp;postID=1675157594779032585' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/1675157594779032585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/1675157594779032585'/><link rel='alternate' type='text/html' href='http://env3d.blogspot.com/2007/12/wrapping-up-for-year.html' title='Wrapping up for the year'/><author><name>Jason Madar</name><uri>http://www.blogger.com/profile/18033395525387633469</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8298481343865845891.post-3668686322084854451</id><published>2007-10-20T20:36:00.000-07:00</published><updated>2007-11-20T09:23:35.237-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3D graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='teaching'/><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>New features and some lessons learned</title><content type='html'>The latest version of env3d (still in cvs, not released yet) will have the following new features:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Transparent sprite support&lt;/li&gt;&lt;li&gt;Setting of camera angles&lt;/li&gt;&lt;li&gt;All resources can be loaded from a jar file.&lt;/li&gt;&lt;/ul&gt;Since all resources are now loaded from a jar file, you can distribute your application very easily.  If you are using BlueJ, you can simply export the project to a jar file.  Make sure that the lwjgl native library (lwjgl.dll in windows) is in the same directory as your jar.  You can now execute the jar file directly.&lt;br /&gt;&lt;br /&gt;This also means any application written using env3d can be setup to use java webstart technology.  This will be a big plus for students who want to show off their projects!  In the future, I may even incorporate applet support.&lt;br /&gt;&lt;br /&gt;New features are great and all, but in my opinion, the most important update is the &lt;span style="font-style: italic;"&gt;removal&lt;/span&gt; of some of the features.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The "move" method will no longer be called automatically&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Adding a room will no longer automatically add all the objects inside the room&lt;/li&gt;&lt;li&gt;Adding of "systems" are not supported&lt;/li&gt;&lt;/ul&gt;What this means is that every object must be added/removed manually (by students).  Env3d is meant to be a learning engine, and as I gain more experience using it, I find that it is best to make the engine do as little "magic" as possible.  The only magic here is being able to put objects into a 3d environment.  The rest should be done manually.&lt;br /&gt;&lt;br /&gt;I am having so much fun using env3d in my class this term.  I think that my students are having fun as well.  I am able to create examples in Env3d that map almost directly to each chapter of the textbook, I will share them on the website once I have some time (end of term most likely).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8298481343865845891-3668686322084854451?l=env3d.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://env3d.blogspot.com/feeds/3668686322084854451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8298481343865845891&amp;postID=3668686322084854451' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/3668686322084854451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/3668686322084854451'/><link rel='alternate' type='text/html' href='http://env3d.blogspot.com/2007/10/new-features-and-some-lessons-learned.html' title='New features and some lessons learned'/><author><name>Jason Madar</name><uri>http://www.blogger.com/profile/18033395525387633469</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8298481343865845891.post-3697631179830305835</id><published>2007-07-09T11:13:00.000-07:00</published><updated>2007-07-09T11:28:54.231-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3D graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='teaching'/><category scheme='http://www.blogger.com/atom/ns#' term='bluej'/><category scheme='http://www.blogger.com/atom/ns#' term='computer sicence'/><title type='text'>Introducing env3d</title><content type='html'>I created env3d to help with my introductory Java course. The internal 3d engine was written a couple of years ago to help me learn OpenGL.  Since then, I have been trying to find a way to apply some real-time 3d graphics into my teaching.&lt;br /&gt;&lt;br /&gt;What I am planning to do is to cover the first 7 chapters of the &lt;a href="http://www.bluej.org/help/textbook.html"&gt;bluej textbook&lt;/a&gt; using env3d as a tool for in-class demonstration and projects.  That's why you'll find that I have used &lt;span style="font-style: italic;"&gt;java reflection&lt;/span&gt; instead of &lt;span style="font-style: italic;"&gt;interface &lt;/span&gt;for all 3d objects definitions in my examples.&lt;br /&gt;&lt;br /&gt;Env3d is free (under GPL).  Please try it out and let me know what you think.  I would really appreciate some feedback before I start using it this Fall.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8298481343865845891-3697631179830305835?l=env3d.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://env3d.blogspot.com/feeds/3697631179830305835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8298481343865845891&amp;postID=3697631179830305835' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/3697631179830305835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8298481343865845891/posts/default/3697631179830305835'/><link rel='alternate' type='text/html' href='http://env3d.blogspot.com/2007/07/introducing-env3d.html' title='Introducing env3d'/><author><name>Jason Madar</name><uri>http://www.blogger.com/profile/18033395525387633469</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
