Virtual Environments Vic Baker Manager, WV VE Lab Lecturer, WVU CSEE What are Virtual Environments? Let’s define Virtual Environments as “computer generated worlds that are represented through computer generated imagery, audio, and humancomputer interaction” Outline for this presentation Basic 3D terminology and concepts including 3D modeling An explanation of Virtual Reality and what high-end tools are currently available such as the ImmersaDesk and the CAVE Household VE platforms -- Nintendo 64 and the PlayStation gaming consoles Let’s start with the basics Anti-aliasing Texture mapping Blending Fog Flat, Gouraud, and Phong shading Persistence Of Vision (POV) Anti-Aliasing Anti-Aliasing disguises the “stair step” effect. Texture Mapping Texture mapping is the applying of a bitmap to a wire-frame mesh. The purpose is to add a sense of realism to the wire-frame model. Blending Blending enables you to produce translucent objects. Fog Fog makes objects far from the viewpoint seem to fade in the distance. Shading Styles Flat vs Gouraud vs Phong shading Persistence of Vision Persistence of Vision (POV) refers to how many frames per second are required to give the illusion of fluid motion 24 frames per second are required to achieve POV. We strive for 30-60 fps! Think about this ... To create a 5 second animation with POV at 24 fps, that requires 120 separate frames! What did you say??? With a running time of 69 minutes, Walt Disney’s Bambi required 99,360 separate frames of animation. My thesis document was 120 pages and contained 100,000 characters. That’s almost 1 frame for every letter in my thesis! Basic 3D tools and terms Modeling packages OpenGL -- a programmatic approach Polygons to pixels … let’s talk about the rendering pipeline And now, a word about ... Modeling Packages OpenGL The Programmatic Approach to Graphics OpenGL is a Programming API that allows us to : Draw Objects View Objects Apply Lighting Texture Mapping Perform animation Add Interactivity Some OpenGL Commands glTranslatef(GLfloat dx, GLfloat dy, GLfloat dz); glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z ); glScalef(GLfloat x, GLfloat y, GLfloat z ); glVertex3f(GLfloat x, GLfloat y, GLfloat z ); glNormal3fv(const GLfloat *v ); OpenGL demos Windows 9x and NT have screen savers that are created using OpenGL. Examples are 3D Pipes, 3D Text, and 3D Flying Objects. The Rendering Pipeline Pictures are made up of objects… – Objects are made up of polygons… Polygons are made up of vertices… Where do we start?!? Follow the yellow brick road! The Rendering Pipeline 9 steps of the pipeline: – – – – – – – – – Read input Backface Culling Trivial Accept/Reject Lighting Viewing Transformation Clipping Divide by W/Map to 3D Viewport Rasterization Display Virtual Reality The Next Generation in Visualization Virtual Reality Virtual Reality (VR) is the next wave in human-computer interaction Virtual Reality allows us to “immerse” ourselves into realistic 3D environments and interact with this world Cutting Edge VR Tools ImmersaDesk CAVE Infinity Wall ImmersaDesk 5’ x 4’ screen that projects stereo images Users wear LCD shutter glasses Interaction is through a wand or speech ImmersaDesk WV recently acquired an ImmersaDesk through the work of Dr. Frances Van Scoy and the National Science Foundation’s EPSCoR program Only about 3 dozen Universities and Research centers have this technology ImmersaDesk Powered by an SGI Onyx 2 computer with 4 R10000 CPUs running at 250 Mhz 512 MB main memory Reality graphics board CAVE Cave Automated Virtual Environment Room sized VR environment Users wear LCD shutter glasses Interaction through a wand or speech How Do we Create Worlds? Modeling packages OpenGL VRML Typical Uses for VE Accident reconstruction Crime re-enactment Entertainment Scientific Visualization Battle simulations Virtual Environments Projects using the ImmersaDesk include: – WV Geographical Informational Systems – Literature Land, WVU English Dept. – WVU Physics Dept. – Low vision and VR, Vic Baker – NIOSH, joint research in visualization – numerous other projects throughout the State Bring on the Games! Let’s see how the Sony PlayStation stacks up against the Nintendo 64! Gaming Consoles While many children (and college students) have a gaming console in their homes, the computational power contained in these units is anything but child’s play. Sony PlayStation 32 bit RISC (R3000A) running at 33 MHz 16 Mbit RAM (Main) 8 Mbit RAM (VRAM) 4 Mbit RAM (Audio) 16.7 Million colors (24 bit) 256 x 224 (up to 640 x 480) resolution Sony PlayStation -- How fast can it draw? Graphics Processor Unit capable of 360,000 flat, shaded polygons per second GPU capable of 180,000 texture mapped, Gouraud shaded polygons per second Geometry Engine can process 4,500,000 vertices/second (1,500,000 polygons/sec for flat shading) Sony PlayStation Media Format Games come on CD CD can not be easily duplicated. Bad sectors on CD mark CD as “legit” for PlayStation Sony Proprietary CD format Net Yaroze lets you create games for your PlayStation using your PC Nintendo 64 64 bit R4000 running at 93.75MHz 36 Mbit RAM (main) 4,500 Mbit transfer speed Graphics and Audio co-processor running at 62.5 MHz 32 bit RGBA frame buffer support 21 bit color video output Nintendo 64 CPU and Reality Co-Processor have more than four million transistors vector processor that can perform over a half a billion arithmetic operations per second approximately 10 times the raw compute power of some of the popular Intel Pentiums in use today. Nintendo 64 -- How fast can it draw? Pretty fast!!! When running Super Mario 64, the N64 is computing approx 80,000,000 adds/subs/mults per second Nintendo 64 Media Format 256 Mbit cartridges Cartridges allow for fast access but have limited storage N64 Disk Drive will store 64 MB N64 DD will read 1 MB/sec ~~ 6X CD Nintendo 64 Party Trivia Amaze your friends with some pretty cool trivia about why the N64 is so cool Tell them about how many tax returns it could compute in a second How NASA could have used it for Moon missions What would happen if we networked all N64s in the world together ….. Let’s see! N64 Party Trivia The raw computational power inside the N64 could perform the calculations necessary to tabulate the tax returns of 6.5 million people per second (IRS Form 1040, the long form) N64 Party Trivia The Nintendo 64 has roughly 1,000 times the performance of the computers used to land a man on the moon. Nintendo 64 Party Trivia If the Webster's dictionary was on an N64 cartridge, the N64 could read the entire dictionary in 1/4 of a second. Nintendo 64 Party Trivia The N64 can perform 3.5 times as many adds per second as the original Cray-1, which cost $8,000,000 in 1976. The Cray-1 also consumed 60,000 watts of power, compared to the Nintendo 64 machine's 5 watts. Nintendo 64 Party Trivia The N64 design team included engineers that designed SGI workstations, PCs, military flight simulators, supercomputers, NASA software systems, stereos, stadium scoreboards, etc. More information Want to learn more? Check out these sites! – www.csee.wvu.edu/~vic/thesis/abstract.html – www.csee.wvu.edu/~cs288 – www.csee.wvu.edu/~vanscoy/idesk.html – 157.182.194.150 (WV VE Lab) – www.nintendo.com/n64/hardware.html – www.playstation.com – www.mips.com/coolApps/s3p6.html – e-mail -- vic@csee.wvu.edu – TAKE CS 288!!!!!