<- previous    index    next ->

Lecture 25, stereo 3D with glasses and without

stereo 3D is here, do not get left behind

Many more types of glasses and stuff

previously we had in class 3D items that did not need glasses

Sony Blogger 3D camera Nintdo 3DS game console Glasses can be inexpensive, 3D screens are still expensive.

We will cover hardware and software

3-D integration and packaging could well be approaching an inflection point. Within the past year alone, there have been several major announcements regarding new 2.5-D, 3-D and TSV manufacturing efforts. Certainly there are obstacles remaining, but the alternatives available to the industry are comparatively far more challenging. Additionally, many believe the 3-D integration approach will ultimately offer entirely new market opportunities with new systems capabilities beyond what is currently possible with 2-D manufacturing approaches. There remains a natural degree of uncertainty, however, as companies work to secure a technology position, obtain new process and design tools, and of course, new customers and new applications. 3-D Architectures for Semiconductor Integration and Packaging continues to give a broad, yet thorough perspective on the techno-market opportunity and challenge offered by building devices and systems in the vertical dimension. The format of the conference and its presentations enables speakers to present the most up-to-date and forthright perspectives as possible. The result is a unique forum where one can gain critical insight into progress in the 3-D chip arena. autostereoscopy We will work on 3D from the software display methods. The latest is 3D without glasses.

Simple outline paper airplane

Makefile_plane stereo_plane_interlaced.c interlace_stencil.c interlace_stencil.h run cs437/plane/stereo_plane_interlaced

Forrest with fire

Makefile_fire fire.c fire_interlaced.c fire_stereo.c fire_image.c fire_image.h interlace_stencil.c interlace_stencil.h stereoproj.c s128.rgb tree2.rgb run cs437/file/fire wiki RealD local wiki RealD RealD.com products and information technical light polarization images/RealD1.jpg Dolby 3D vs Real-D Chapter 6 of our Textbook: Interactive Computer Graphics, gives the definitions and equations for doing lighting in any language on any graphics platform. Programming these yourself is often a project in CMSC 435, Computer Graphics. Many graphics toolkits implement the lighting models for reasonably convenient use. The physics: Light is electro magnetic radiation. Each color has a wavelength. We are interested in the visible spectrum between infrared and ultraviolet. From long ago, Roy G Biv, Red, orange, yellow, Green, Blue, indigo, violet. RGB are the electronic primary colors. The human eye can detect the intensity and wavelength of light. White light is all colors, black is no colors. In ambient white light, an object looks red because the object is reflecting light with wavelengths near red and absorbing light at other wavelengths Graphics definitions: Ambient light: comes from no specific source, exists in all directions. Diffuse light: has a point source, strikes the surface of an object at some angle, reflects or is absorbed by an object, the amount of reflected light depends on the incident angle and the normal to the surface. Specular reflection: comes from point source light reflected to a pixel based on the angle of incidence and angle of reflection, and takes into account the shininess of an object. This produces a highlight or bright spot. An object is said to have a surface material and that material can have Ambient, Diffuse and Specular properties (for each primary color). Example programs covered: (execute and observe lighting) planets.c SphereMotion.java SphereMotion.jpg SphereMotion.html teapots.c teapots.jpg The lighting environment is the physical objects in the truncated tetrahedron plus the light(s) that may be outside this volume. (also see textbook 5.5) The components of light that the user sees is intensity, I, of the primary colors RGB. Irgb = Iambient + Idiffuse + Ispecular [clamped to 1.0 maximum each color] (see text book 6.1-6.5) The intensity of a pixel on the display is computed independently for each primary color. Each intensity is the result of light on the material of the object being reflected to the pixel on the display screen. For the following we assume the material on the object has been defined to provide the reflectivity of each primary color for ambient reflection, diffuse reflection, specular reflection and shininess. We assume that ambient light has been defined with the amount of light for each primary color. We assume that one or more point lights have been defined at some position with the amount of light for each primary color. All lights and reflectivities are assumed converted to the range 0.0 to 1.0. Any undefined value is considered to be 0.0. The intensity for each color is computer by the formulas: Iambient = Kambient * Lambient Kambient is the materials reflectivity to each color Lambient is the amount of ambient light for each color Idiffuse = Kdiffuse (Lvector dot Nvector) Ldiffuse Kdiffuse is the materials reflectivity to each color Ldiffuse is the amount of one point light for each color Lvector is the vector from the point light to the surface Nvector is the normal vector at the surface the dot product computes the cosine of the angle between vectors Ispectral = Kspecular (Rvector dot Vvector)^alpha Lspecular Kspecular is the materials reflectivity to each color Lspecular is the amount of one point light for each color alpha is the exponent of the dot product, typically 20 to 100 alpha can be derived from the amount of shininess of the object Rvector is the reflection vector Vvector is the vector to the eye (actual computation uses a transformation, Hvector) A few examples: red light amount red reflectivity result intensity 0.0 0.0 0.0 0.0 1.0 0.0 1.0 0.0 0.0 1.0 1.0 1.0 0.5 0.5 0.25 1.00^50 = 1.0 0.99^20 = 0.8 alpha = 20 at angle T, 0.99 = cos(T) 0.95^20 = 0.35 0.99^50 = 0.6 alpha = 50 0.95^50 = 0.076 teapots includes both lighting and texturing, which are both closely related to how people interpret, visualize, the display of graphical objects. Texturing is covered more in the next lecture. light_dat.c light_dat2.c show faces light_dat3.c show vertices datread.c reads .dat and .det files datread.h drop.dat Utah .dat or .det formats skull.dat example skull.jpg rendered as brass bull.dat example many vertices, surfaces bull.jpg rendered as brass There are many 3D graphical images available from the Utah project(s). The .det format uses binary IEEE floating point and binary "C" integers for fast input. The .dat format is exactly the same numeric values encoded as ASCII text readable by "C" fscanf or equivalent. When you can see the object on the screen with lighting, there has been a z-plane rendering or ray trace rendering to convert the vertices and faces to a smooth looking object. planets.c Lighted extension of planet.c This demonstrates putting a light inside an object to give somewhat an illusion of a glowing object. Compare above to planet.c Then optical illusions: There is no white triangle.
    <- previous    index    next ->

Other links

Many web sites on Java GUI, AWT, Swing, etc.
Many web sites on Python wx, tk, qt, etc.

Go to top