Foundations of 3D Graphics Programming: Using JOGL and by Jim X. Chen PhD, Edward J. Wegman PhD (auth.)

By Jim X. Chen PhD, Edward J. Wegman PhD (auth.)

"A reliable, concise special effects textbook masking 3D options, crucial basics idea, and easy-to-follow OpenGL sensible programming in Java."

Dr. Jack Bresenham, Retired IBM Senior Technical employees Member


Increasingly within the nation-states of technology and undefined, special effects is a space of severe significance and application. And in the images group, the call for for generating unheard of 3D pictures particularly is sort of a given.

Foundations of 3D pics Programming is an cutting edge shortcut to portraits thought and programming utilizing JOGL, a brand new automobile of 3D photos programming in Java. The ebook covers all snap shots fundamentals and several other complicated subject matters, in addition to a few easy suggestions in Java programming in case you presently are C/C++ programmers. particularly, it offers all of the middle elements of OpenGL programming in Java utilizing JOGL, in addition to concisely awarded special effects theories. furthermore, it makes use of a top-down method of lead the reader into programming and functions up-front. The content material approximately conception offers a high-level figuring out of all uncomplicated snap shots, and of utilizing JOGL rather than imposing a snap shots approach. reasons are built-in with the pattern courses, that are in particular designed for studying and accompanying this book.

Topics and Features:

• provides a shortcut to 3D snap shots idea, and serves as a concise advisor to either concept and programming

• Covers JOGL, a brand new motor vehicle of 3D images programming in Java

• accommodates quite a few useful examples and exercises

• Introduces and describes Java3D, a shortcut to high-level 3D photographs APIs in Java

• presents readers with finished samples in JOGL and Java3D

• bargains a supplementary site with updates, pattern courses, figures, and precious weblinks and directions for developing the OpenGL programming environment

Written through leaders in 3D photos, digital adventure, and statistical info visualization, this text/reference is a complete, but concise quantity meant for scientists and engineers who comprehend Java programming. furthermore, it's a sturdy reference for C/C++ portraits programmers drawn to studying Java and JOGL. obtainable for an interdisciplinary readership, this publication calls for basically uncomplicated wisdom of vector research and programming.

Show description

Read or Download Foundations of 3D Graphics Programming: Using JOGL and Java3D PDF

Best programming: programming languages books

Objektorientierte Programmiersprache C++: Vollständige Einführung anhand von Beispielen (VDI-Buch) (German Edition)

In diesem Werk werden alle Aspekte der Sprache C++ behandelt, deshalb ist das Buch ebenso für Einsteiger, mit oder ohne Vorkenntnisse über eine andere Programmiersprache, als auch für Umsteiger von anderen Programmiersprachen bzw. C-Programmierer geeignet. Die Darstellung der Sachverhalte erfolgt knapp und systematisch, die Beispiele sind kurz, prägnant und compiler- unabhängig und auf allen Rechnern mit C++ 2.

Extra resources for Foundations of 3D Graphics Programming: Using JOGL and Java3D

Example text

1. 0f; } } // initialize the current matrix to Identity matrix public void my2dLoadIdentity() { my2dIdentity(my2dMatStack[stackPtr]); } 2. my2dMultMatrix(float mat[][]) multiplies the current matrix on the matrix stack with the matrix mat: CurrentMatrix = currentMatrix*Mat. // multiply the current matrix with mat public void my2dMultMatrix(float mat[][]) { float matTmp[][] = new float[3][3]; my2dClearMatrix(matTmp); for (int i = 0; i<3; i++) { for (int j = 0; j<3; j++) { for (int k = 0; k<3; k++) { matTmp[i][j] += my2dMatStack[stackPtr][i][k]*mat[k][j]; } } } // save the result on the current matrix for (int i = 0; i<3; i++) { for (int j = 0; j<3; j++) { my2dMatStack[stackPtr][i][j] = matTmp[i][j]; } } } 3.

2 Initial position: h Destination: h' y Step 1. translate: c(x0,y0) h2 = R(−θ)h1 y h(x1,y1) h' = T(x0,y0)h2 y y θ h1(x11,y11) h' Step 3. translate: Step 2. rotate: h1 = T(−x0, −y0)h x h2(x12,y12) x 49 2D Transformation h c(x0,y0) x h'(x'1,y'1) x Fig. 5 Composition of 2D Transformations A complex transformation is often achieved by a series of simple transformation steps. The result is a composition of translations, rotations, and scalings. We will study this through the following three examples.

Java, which corresponds to the OpenGL implementation in hardware. OpenGL has a MODELVIEW matrix stack that saves the current matrices for transformation. Let us define a matrix stack as follows: After scaling by (2, 2) Before scaling y y P P x Fig. *; public class J2_0_2DTransform extends J1_5_Circle { private static float my2dMatStack[][][] = new float[24][3][3]; private static int stackPtr = 0; ... }  The identity matrix for 2D homogeneous coordinates is , =    . Any matrix  multiplied with identity matrix does not change.

Download PDF sample

Rated 4.23 of 5 – based on 7 votes