Java3D Presented By Chris Gundlach

Slides:



Advertisements
Similar presentations
Välkommen till Sommarkollo Introduce XNA Game Studio Express Make A Game!
Advertisements

HARDWARE ACCELERATED WEB BROWSER Berlian Juliartha M.P Indah Yudi Suryani Wais Al Qonri H
Department of computer science and engineering INTRODUCTION TO JAVA 3D Martin Čadík Czech Technical University in Prague, Czech Republic.
Exploring JavaFX 3D Jim Weaver Java Technology Ambassador
Intro to Java Monkey Engine Download JME loads/ loads/
 The success of GL lead to OpenGL (1992), a platform-independent API that was  Easy to use  Close enough to the hardware to get excellent performance.
MAT 594CM S2010Fundamentals of Spatial ComputingAngus Forbes Overview Today: - Make sure everyone is set up with an OpenGL environment - OpenGL basics:
Shading in OpenGL CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
Lecture21 Other Java Gamming technologies – Java3D (This lecture will not be assessed)
Zhang & Liang, Computer Graphics Using Java 2D and 3D (c) 2007 Pearson Education, Inc. All rights reserved. 1 Chapter 11 Animation F To understand the.
Shading in OpenGL Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
3D Development In Java CCNY Capstone Project By: Peter Giang.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Programming with OpenGL Part 1: Background Ed Angel Professor of Computer Science, Electrical.
3D Graphics - Current Technologies Open GLOpen GL (Open Graphics Language) –SGI Silicon Graphics Direct 3DDirect 3D –Microsoft Direct X Technology Java3DJava3D.
Java 3D Pablo Figueroa University of Alberta April 2000.
Graphical Objects and Scene Graphs CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
Unity 3D game IDE 1.  Unity is a multi-platform, integrated IDE for scripting games, and working with 3D virtual worlds  Including:  Game engine ▪
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
3D Rendering with JOGL Introduction to Java OpenGL Graphic Library By Ricardo Veguilla
Hierarchical Transformations Hierarchical Models Scene Graphs
Basic 3D Graphics Chapter 5. Bird’s Eye View  Basic 3D Graphics –Basic concepts of 3D graphics, rendering pipeline, Java 3D programming, scene graph,
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Java ME & Blackberry APIs for Game Dev Week III. Overview Java 2D API Java 3D API SVG Blackberry APIs
, Computer Engineering Lab II (3rd Year)
Eriq Muhammad Adams J. | Informatics University of Brawijaya.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
CS324e - Elements of Graphics and Visualization Checkerboard World.
Shading in OpenGL.
Java3D Overview Scene graph Java 3D classes Describing objects Groups, transforms Behaviors, interpolators Lighting.
1 Animation & Java3D ©Anthony Steed Overview n Introduction to Animation Kinematics Dynamics Boids n Java3D Scene graph Animation Vehicles.
3D Objects Subject:T0934 / Multimedia Programming Foundation Session:12 Tahun:2009 Versi:1/0.
OpenGL Shading Language (Advanced Computer Graphics) Ernest Tatum.
Geometric transformations The Pipeline
CSC 461: Lecture 41 CSC461: Lecture 4 Introduction to OpenGL Objectives: Development of the OpenGL API OpenGL Architecture -- OpenGL as a state machine.
A Simple Talk on Java 3D Presented by C.H. Chen on Jul. 6, 2004.
The Graphics Rendering Pipeline 3D SCENE Collection of 3D primitives IMAGE Array of pixels Primitives: Basic geometric structures (points, lines, triangles,
Computer Graphics I, Fall 2010 Shading in OpenGL.
Programming with OpenGL Part 1: Background
Lecture 9: Lighting and Shading 1  Principles of Interactive Graphics  CMSCD2012  Dr David England, Room 718,  ex 2271
Lecture 14 Shading models 1.Shading Constant Shading (to be implemented) Gouraud Shading Phong Shading 2.Light and shading with OpenGL 1.
Computer Graphics Using Direct 3D Introduction. 2 What are we doing here? Simply, learning how to make the computer draw.
به نام خدا تنظیم کننده : فرانه حدادی استاد : مهندس زمانیان تابستان 92.
H3D API Training Part 2.1: X3D. Outline  Scene graphs  X3D – XML syntax  X3D components overview.
Jul 25, 2014IAT 3551 Scene Graphs.  A data structure that stores information about a graphics scene –Each node has information that structures the interpretation.
1 3D API OPENGL ES v1.0 Owned by Silicon Graphics (SGL) Control was then transferred to Khronos Group Introduction.
CS324e - Elements of Graphics and Visualization Java 3D Intro.
OpenGL Lighting Jian-Liang Lin 2002 Hidden-Surface Removal -1 Original Code: while (1) { get_viewing_point_from_mouse_position(); glClear(GL_COLOR_BUFFER_BIT);
Interface Opportunities for 3D Data and Media User Interface Software TechNote Panel Virginia Tech CS Fall 2002 Nicholas F. Polys Umur Yilmaz Will Lee.
CSE 381 – Advanced Game Programming GLSL. Rendering Revisited.
Java 3D Web Apps and Services. Presentation Overview l Java3D Overview l Software l Java3D API l Scene Graph Programming Model l Java3D Terminology l.
OpenGL: The Open Graphics Language Introduction By Ricardo Veguilla.
1 9 Lighting a Scene v There are four types of lighting: –ambient light –directional light –point light –spotlight v Any number of these can be added to.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Graphical Objects and Scene Graphs Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Zhang & Liang, Computer Graphics Using Java 2D and 3D (c) 2007 Pearson Education, Inc. All rights reserved. 1 Chapter 5 Basic 3D Graphics.
What are shaders? In the field of computer graphics, a shader is a computer program that runs on the graphics processing unit(GPU) and is used to do shading.
OpenGL: The Open Graphics Language Technology and Historical Overview By Ricardo Veguilla.
Shading To determine the correct shades of color on the surface of graphical objects.
IAT 355 Scene Graphs Feb 23, 2017 IAT 355.
Ogre Overview Lecture 3.
Graphical Objects and Scene Graphs
Advanced Graphics Algorithms Ying Zhu Georgia State University
3D-Online Product Configuration by Java3D
Hierarchical and Object-Oriented Graphics
.NET and .NET Core 7. XAML Pan Wuming 2017.
Shading in OpenGL Ed Angel
3D applications in Delphi
Hierarchical and Object-Oriented Graphics
Direct2D Karolis Jodikaitis.
Programming with OpenGL Part 1: Background
Presentation transcript:

Java3D Presented By Chris Gundlach

Why Java3D? People like rich applications (see Google Local). AJAX stinks -- Javascript. Flash stinks -- Javascript. Java2D/Java3D can produce highly creative and high performance UI’s. Java Security is the enabler.

History/Future First version 1998 Development stopped Now Open Source. Previous version is 1.3.2, which is a bug fix release (Windows, Linux, Solaris, OS X). Current version 1.4 3/2/06 (Windows, Linux, Solaris) adds programmable shaders. Version 1.5 JOGL Rendering

3D Java APIs JOGL – A Java based OpenGL rendering API LWJGL (Lightweight Java Game Library) – Low level API targeted for games Java3D – A Scenegraph API Xith3D – Scenegraph API based on JOGL or LWJGL jME (jMonkey Engine) – Scenegraph API based on LWJGL

OpenGL Sample void renderTeapot (GLfloat x, GLfloat y, GLfloat z, GLfloat ambr, GLfloat ambg, GLfloat ambb, GLfloat difr, GLfloat difg, GLfloat difb, GLfloat specr, GLfloat specg, GLfloat specb, GLfloat shine) { GLfloat mat[4]; glPushMatrix(); glTranslatef (x, y, z); mat[0] = ambr; mat[1] = ambg; mat[2] = ambb; mat[3] = 1.0; glMaterialfv (GL_FRONT, GL_AMBIENT, mat); mat[0] = difr; mat[1] = difg; mat[2] = difb; glMaterialfv (GL_FRONT, GL_DIFFUSE, mat); mat[0] = specr; mat[1] = specg; mat[2] = specb; glMaterialfv (GL_FRONT, GL_SPECULAR, mat); glMaterialf (GL_FRONT, GL_SHININESS, shine*128.0); glCallList(teapotList); glPopMatrix(); }

Rendering Java3D renders is done with either OpenGL or Direct3D (Windows). Java3D will be moving to using JOGL bindings Hardware Acceleration == Goodness Works on a wide variety of hardware (a T40 ThinkPad for instance).

JOGL Rendering Remove the current rendering code from Java 3D, will allow the project to focus on the scenegraph. JOGL implementations are available for more platforms (eg. OS X). Will allow for a lightweight component. 6 to 9 months to complete

Performance 3 Rendering Modes Immediate Mode Retained Mode Compiled-Retained Mode Uses the set capabilities flags to notify the API, what optimizations it can make.

Capabilities ALLOW_READ_BOUNDS ALLOW_APPEARANCE_WRITE ALLOW_GEOMETRY_WRITE

UI Clases Canvas3D -- is the heavyweight component where the scene is rendered. GraphicsConfigTemplate3D – contains instructions for rendering (for instance anti-aliasing). J3DGraphics2D for drawing on the Canvas3D using 2D instructions (not in compiled mode).

Component Descriptions VirtualUniverse - top level container of the scenegraph (SimpleUniverse) Locale – Hi resolution location in the Universe Group – Contains other Nodes Leaf – Shapes, Behavior, Light, Background

Scenegraph Components

Sample Graph

Coordinates Default unit of measure is meters +x is to the right +y is local gravitation up +z is towards the viewer Hires Coordinates are 256 bit fixed point numbers for x,y,z

BranchGroup Extends Group functionality compile() method optimizes the contents of the group detach() method removes the group from the graph

Shape3D Geometry Examples -- LineArray, PointArray, QuadArray, TriangeArray, Text3D Appearance –ColoringAttributes, Texture, Material, TranparencyAttributes

Lighting AmbientLight – Light that affects all objects uniformly. DirectionalLight – Oriented light with origin at infinity. PointLight – Located at some coordinate and emanates in all directions. SpotLight – Located at some coordinate, and shines in a particular direction.

TranformationGroup Provides a mechanism to scale, rotate, move, etc. a subgraph. Transform3D –rotX, rotY, rotZ –set(scale) –setTranslation(Vector3d)

Behaviors/Interpolator Adds action to the scenegraph. SchedulingBounds, SchedulingInterval Interpolator is essentially a given transformation over time. Examples: PositionInterpolator, ScaleInterpolator, RotationInterpolator

Loading Models Instantiate your loader… (extends com.sun.j3d.loaders.LoaderBase) call load get the Scene object get the BranchGroup from the Scene add the Group to your graph

Loaders Lightwave and Wavefront included (com.sun.j3d.loaders…) 3D Studio Max AC3D VRML Different loaders have different levels of ability to load in things like behaviors.

References Java3D specification Killer Game Programming in Java Java3D home on java.net.