widget finally done

Posted by admin on September 13th, 2009 filed in Uncategorized
Comment now »

widget


@ samsung widget competition

Posted by admin on September 12th, 2009 filed in Uncategorized
Comment now »

I’m at the samsung widget competition…right now I feel like I’ve forgotten all javascript


Gearing up for a new 3d animation

Posted by admin on August 15th, 2009 filed in Uncategorized
Comment now »

First proto shot for a new scene in a short I’m starting. Full Render
MilkShot1


LocoRoco2

Posted by admin on August 9th, 2009 filed in Uncategorized
Comment now »

Update on my LocoRoco2 scene re-creation.
Loco2


The identity matrix is your best friend

Posted by admin on August 7th, 2009 filed in DCC
Comment now »

Since I’m playing with OpenGL these days I’ve learned just how valuable the identity matrix is as far as “zeroing” coordinates and scales. Some of my observed benefits:
-Converts translations from local space coord to world space
-Resets your scales, helpful for ortho projections like this

Basically it converted my mess of primitives into this:
(yes its a WIP)

locoAttempt1


3D studio max 2010 has some great features

Posted by admin on August 5th, 2009 filed in Uncategorized
Comment now »

I’ve been playing with 3ds max 2010 for about a week now and I must say the speed increase over my previous version (9) is quite stunning. Additionally there are a ton of ‘creature features’ that at first seem intimidating, but actually save quite a bit of time. My hats off to the 3dsmax developers.


Finally got the robot cell shading example working

Posted by admin on July 28th, 2009 filed in Uncategorized
Comment now »

After having to read up on GLUT so I could do simple functions…I finally got the Nehe tutorial #37 running on my mac. C++ or course…although I wonder if java may be an easier route.

OpenGLRobot


Exporting from gmax to .x

Posted by admin on July 11th, 2009 filed in Uncategorized
Comment now »

I found a great tutorial on this here:
http://www.3drad.com/forum/index.php?topic=577.0

Here’s a copy of the important part of the post:

The flight simulator games use a similar format to the x file. An extra option in the tools allow you to export as the X format – right into 3D rad. I will cover this in my own tutorial video on the process soon. You can already find many other documents and videos [2] [3] [4] [5] already on Gmax/Max. The videos on youtube are ok, the max videos are slightly better…. If you need a better one, let me know and I will create one.

Ok, This process is kinda tricky, but if you follow it exactly it works like a charm!

______________________________________________________________

Get the 3D progam:
Download Gmax from www.turbosquid.com/gmax

Exporter Installation (panda3d.etc.cmu.edu)

There are several plug-ins required to export .X files from gmax:

1. First download the ‘Gmax gamepack SDK’ found at this link: FlightSimulator exporter plugin. Size is about 15Mb. Although only 3 files are actually needed, they are not available as separate downloads, so unfortunately you’ll need to download the whole thing.

2. Next, download programs ‘MDLCommander‘ and ‘Middleman‘.

3. After download, you’ll see that the ‘fs2004_sdk-gmax-setup’ is an exe. If you install it in the default gmax directory, you’ll end up with a lot of extra stuff that you don’t need. So create a new folder somewhere on your hard drive and install it there.

4. When done, open the folder, go to gamepacks > fs2004 > plugins. And copy all 3 files: ‘FSModelExp.dle’, ‘makemdl.exe’ and ‘makemdl.parts.xml’ to your main ../gmax/plugins folder.

5. You need to rename two of the files. Right click on ‘makemdl.exe’ and rename it to to ‘mkmdl.exe’. Then right click on ‘makemdl.parts.xml’ and rename it to ‘mkmdl.parts.xml’ (without the quotes).

6. Next, unzip ‘MDLCommander.zip’. Then copy ‘mdlcommander.exe’ to your main ../gmax/plugins folder. This file also needs to be renamed. Right click on ‘mdlcommander.exe’ and rename it to ‘makem.exe’.

7. Finally, unzip ‘Middleman13beta3.zip’. Then copy ‘makemdl.exe’ to your main ../gmax/plugins folder. That’s it, you’re done!
Using

To convert your gmax model to .X format. Go to ‘File > Export’ and select ‘Flightsim Aircraft Object (.MDL) from the file type dropdown. Type in a filename and click Save. The Middleman dialog window should now appear. Click the ‘Options’ tab and check ‘SaveXFile’ (this saves the x file) and ‘nocompile’ (this tells mdlcommander to only create an .X file not mdl/bgl). Then click the GO button.

After a few seconds the dialog will close and your newly exported .X model should be in the directory where you saved it to.

______________________________________________________________
A great step-by-step of how to export the a model as X file from Gmax can be found here: http://www.coolux.de/root/en/support/resource/tut_rsc_obj_creation_en.htm

Also you can find all the above needed files backed up on my website:
http://screenracer.com/3drad/gmax/


Recursive Mirrors

Posted by admin on July 8th, 2009 filed in DCC
Comment now »

Here is a fun attempt I did demonstrating recursive mirrors. Its not infinitely recursive…but there are a few recursions.
Rendered using 3DS Max Metal Ray, Flat Mirrors, and ray tracing. Lights are non-photometric.

infMirror


Unix OpenGL Buffer

Posted by admin on July 3rd, 2009 filed in Uncategorized
Comment now »

Thanks to Nvidia, my book, and the internet I was able to hash together a working frame buffer that runs in OSX (warning I tried to pull out the unnecssary methods, so this code may not work as is):

/*
 * UnixBuffer.cpp
 *
 *  Created on: Jul 3, 2009
 *      Author: john
 */

#include <OpenGL/gl.h>
#include <OpenGL/glu.h>
#include <GLUT/glut.h>
#include <iostream>

#define window_width  640
#define window_height 480

// Main loop
void main_loop_function()
{
	glutSwapBuffers();

}

// Initialze OpenGL perspective matrix
void GL_Setup(int width, int height)
{

	glEnable(GL_TEXTURE_2D);
	glViewport( 0, 0, width, height );
	glMatrixMode( GL_PROJECTION );
	glEnable( GL_DEPTH_TEST );
	gluPerspective( 45, (float)width/height, .1, 100 );
	glMatrixMode( GL_MODELVIEW );
	glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
}

void display()
{

    glClear(GL_COLOR_BUFFER_BIT);

    glDisable(GL_DEPTH_TEST);
    glRasterPos2i(0, 0);
    glBindBufferARB(GL_PIXEL_UNPACK_BUFFER_ARB, 0);

    glutSwapBuffers();
    glutReportErrors();
}

// Initialize GLUT and start main loop
int main(int argc, char** argv) {
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
    glutInitWindowSize(window_width, window_height);
    glutCreateWindow("OpenGLBuffer");
    glutDisplayFunc(display);
    glutIdleFunc(main_loop_function);
    GL_Setup(window_width, window_height);
    glClearColor(0, 0, 0, 0);

    glutMainLoop();
}