KEMBAR78
Module - I (Part A) | PDF | Virtual Reality | 3 D Computer Graphics
0% found this document useful (0 votes)
30 views19 pages

Module - I (Part A)

Uploaded by

riyuatvit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views19 pages

Module - I (Part A)

Uploaded by

riyuatvit
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 19

Module – I (Part A)

INTRODUCTION TO V I RT U A L R E A L I T Y: THREE I’S –

V I RT U A L R E A L I T Y V S 3 D – B E N E F I T S – C O M P O N E N T S , VR

MODELING – GEOMETRIC MODELING - K I N E M AT I C S

M O D E L I N G - P H Y S I C A L M O D E L I N G - B E H AV I O R M O D E L I N G .

V R P R O G R A M M I N G – T O O L K I T S A N D S C E N E G R A P H S – J AVA

3 D – C O M PA R I S O N O F W O R L D
Three I’s (Immersion –Interaction – Imagination/Intuition )

Immersion : Feeling deeply 'transported' into a virtual world.


◦ Realistic graphics and sound
◦ Spatial awareness (3D audio and 360-degree visuals)
◦ Haptic feedback (physical sensations like vibrations)
◦ Natural Interaction mechanics (hand tracking, body movement)

Interaction : The ability to interact with the virtual environment and


objects.
◦ Hand controllers or gloves for object manipulation
◦ Eye tracking or gaze-based interaction
◦ Voice commands and haptic feedback
◦ User interfaces responding to physical movements (pointing, grabbing)
Three I’s (Immersion –Interaction – Imagination/Intuition )

Imagination/Intuition : How naturally users can control and understand the


virtual world.
- Easy-to-understand controls and UI
- Seamless transitions between virtual and physical actions
- Natural movements (e.g., walking, reaching)
- Contextual feedback guiding actions
Virtual Reality Vs 3D
Feature Virtual Reality (VR) 3D
Fully immersive, 360-degree
Immersion Limited to depth perception on screen
experience
High level of interactivity (walk, Limited interaction (mostly passive
Interaction
move, manipulate) viewing or basic controls in games)
Requires VR headset and often Standard screen, sometimes with 3D
Hardware
motion controllers glasses
Depth True depth in a dynamic, interactive
Illusion of depth from a fixed viewpoint
Perception space
Gaming, training, simulations,
Applications Movies, games, design, education
education, tourism

VR is perfect for applications where full immersion and interactivity are crucial, such as
training, simulation, or entertainment, whereas 3D is ideal for visual storytelling or
interactive media like video games.
Components(VR)
1. VR Headset (Display)

2. Motion Controllers Types:


3. Tracking System Tethered VR Headsets: These connect
4. Sensors (Accelerometers, Gyroscopes, etc.) to a PC or console (e.g., Oculus Rift,
HTC Vive, PlayStation VR).
5. Audio System

6. Processing Unit (PC/Console or Standalone) Standalone VR Headsets: These are


all-in-one devices with built-in
7. Software (VR Content)
processing power (e.g., Oculus Quest
8. Haptic Feedback 2).
9. Cables and Connectors
Mobile VR: Uses a smartphone inside
10. Eye Tracking (Optional) the headset to display the content (e.g.,
11. Tactile Gloves/Full-Body Suits (Optional) Samsung Gear VR, Google Cardboard).
Ref: https://learn.microsoft.com/en-us/hololens/
VR PROGRAMMING
Programming for virtual reality (VR) environments involves several key
concepts and technologies. Here are some detailed notes covering various
aspects of VR programming
Understanding VR Hardware:
◦ VR Headsets: Devices like Oculus Rift, HTC Vive, PlayStation VR, etc.,
provide the immersive experience by displaying stereoscopic 3D visuals.
◦ Controllers: Hand-held devices used to interact with the virtual environment.
They often come with buttons, triggers, and motion sensors for tracking hand
movements
VR PROGRAMMING
VR Development Platforms:
1. Unity: One of the most popular game engines for VR development. It offers
acomprehensive set of tools and supports multiple VR platforms.
2. Unreal Engine: Another powerful game engine widely used for VR development.It
provides high-fidelity graphics and advanced features for creating
immersiveexperiences.
3. WebVR: A JavaScript API that enables VR experiences on the web,
compatiblewith various VR devices
Key Concepts in VR Programming:
1. Stereoscopic Rendering: Rendering two slightly different images to each eye tocreate a
3D effect and depth perception.
2. Motion Tracking: Tracking the user's head and hand movements in real-time toupdate the
VR environment accordingly.
3. Collision Detection: Detecting when virtual objects intersect with each other orwith the
user's controllers to enable interactions.
4. Spatial Audio: Simulating realistic sound effects based on the user's position
andorientation within the virtual environmen
VR PROGRAMMING
Implementing Interactions:
Grabbing and Throwing: Allowing users to pick up and manipulate virtual
objects using their controllers.
Teleportation: A common locomotion technique in VR that enables users to
move around the virtual environment by selecting a location and instantly
teleporting there.
User Interface (UI): Designing intuitive menus and interfaces that can
be interacted with using VR controllers or gaze-based input
Optimization and Performance:
Framerate: Maintaining a consistent high framerate (usually 90fps or above)
toensure smooth and comfortable VR experiences.
Level of Detail (LOD): Using different levels of detail for objects based on
theirdistance from the user to optimize rendering performance.
Occlusion Culling: Hiding objects that are not visible to the user's field of view
toreduce rendering overhead.
Toolkits and Scene Graph
Toolkits and Scene Graphs in the context of computer graphics and software
development:
Toolkits and scene graphs is crucial for developers working on graphics-intensive
applications, as they provide the foundation for building and managing complex graphical
scenes efficiently
Toolkits:
Definition: Toolkits, also known as graphics libraries or frameworks, are
collections of pre-written code, functions, and utilities that simplify the process of
developing graphics-intensive applications.
Functionality:
Rendering: Toolkits provide APIs for rendering 2D and 3D graphics, including
primitives like points, lines, polygons, and textures.
Windowing: They offer windowing systems to manage application windows,
handle input events (such as mouse clicks and keyboard presses), and manage the
application's overall lifecycle
Toolkits and Scene Graph
Interaction: Toolkits often include support for user interaction, such as mouse and
keyboard input handling, touch input for mobile devices, and more sophisticated input
methods for VR and AR applications.
Cross-Platform Compatibility: Many toolkits are designed to be cross-platform,
allowing developers to write code once and deploy it on multiple operating systems
without significant modifications.
Examples:
OpenGL: A widely-used open-source graphics API for rendering 2D and3D graphics.
DirectX: A collection of APIs developed by Microsoft for rendering
multimedia and gaming graphics on Windows platforms.
Vulkan: A low-level graphics API designed for high-performance, cross-platform
graphics rendering.
OpenGL ES: A subset of OpenGL designed for embedded systems,
commonly used in mobile and tablet applications
Toolkits and Scene Graph
Scene Graphs:
Definition: A scene graph is a data structure used to represent the objects andtheir
relationships in a scene in a graphical application.
Components:
Nodes: Objects in the scene, such as models, lights, cameras,
andtransformations (e.g., translation, rotation, scaling).
Hierarchy: Nodes are organized in a hierarchical structure, where eachnode can
have parent and child nodes.
Properties: Nodes can have properties like position, orientation, scale,color,
and material properties.
Toolkits and Scene Graph
Functionality:
Efficient Rendering: Scene graphs facilitate efficient rendering by organizing objects
based on their spatial relationships, allowing for optimizations such as frustum culling
and occlusion culling.
Animation: Scene graphs support animation by providing mechanisms to animate object
transformations (e.g., skeletal animation, keyframe animation).
Traversal and Manipulation: Developers can traverse the scene graph to perform operations like
rendering, collision detection, picking, and raytracing
Examples:
OpenSceneGraph: An open-source scene graph library for rendering 3Dgraphics, widely
used in games, simulations, and virtual reality applications.
Unity: A popular game engine that uses a scene graph internally to represent
game scenes and objects.
Blender: A 3D modelling and animation software that uses a scene graph to represent
scenes and objects in the 3D viewport
Toolkits and Scene Graph
World Tool Kit
World Tool Kit (WTk) is a software library for building graphical user interfaces
(GUIs) in the Smalltalk programming language. It provides a set of classes and
methods for creating windows, buttons, menus, and other UIcomponents
in Smalltalk applications.
WorldKit by Unity Technologies: Unity Technologies, the company behind
the Unity game engine, developed a tool called "WorldKit" for creating real-
time 3D maps and geospatial visualizations.
WorldKit provides tools for terrain generation, texture mapping,dynamic
lighting, and integration with real-world data sources (e.g., GIS data,GPS
coordinates). It enables developers to create immersive 3D
experiencesbased on real-world geography.
Introduction to Java 3D
A high-level API for creating 3D graphics in Java. Used for simulations, games,
data visualization, and virtual reality. Part of the Java Media APIs.
Key Features of Java 3D
Scene Graph-Based Programming: Simplifies managing 3D scenes.
High-Level API: Abstracts low-level graphics programming.
Cross-Platform: Runs on multiple platforms.
3D Transformations: Scaling, rotation, and translation of objects.
Lighting and Materials: Realistic lighting models and shading.
Animation and Behaviors: Tools for object animation and collision detection.
Integration with Java: Works with Swing and AWT for GUI applications
Basic Components of
Java 3D
Scene Graph: Hierarchical structure to organize 3D objects.
Virtual Universe: Represents the entire 3D space.
View: Defines how 3D content is displayed (camera settings).
Geometry: Shapes of 3D objects.
Appearance: Colors, textures, and material properties.
Lights: Illuminates the scene.
Example Code -
Spinning Cube
```java
import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.SimpleUniverse;
import javax.media.j3d.BranchGroup;

public class HelloJava3D {


public static void main(String[] args) {
SimpleUniverse universe = new SimpleUniverse();
BranchGroup group = new BranchGroup();
group.addChild(new ColorCube(0.4));

universe.getViewingPlatform().setNominalViewingTransfor
m();
universe.addBranchGraph(group);
}
}
``
Use Cases of Java 3D
Educational Tools: Interactive 3D learning modules.
Game Development: Building 3D games.
Data Visualization: 3D charts and models.
Virtual Reality Simulations: Immersive environments.
Scientific Simulations: Visualizing complex scientific data.

Limitations
Limited updates in recent years.
Lags behind modern 3D engines like Unity or Unreal Engine.
Alternative technologies like OpenGL (via JOGL or LWJGL) are more widely used.
Best suited for educational and small-scale projects.
For modern and advanced graphics, consider newer technologies like Unity, Unreal, or
OpenGL
Comparison of World
Revenue: The top countries by video game revenue in 2023 were the United
States, China, Japan, South Korea, Germany, the United Kingdom, France, Canada,
Italy, and Mexico.
Player count: China had the highest player count in 2023, with 681.1 million
players.
Mobile gaming: China had the highest market size for mobile gaming in 2021,
with a total value of $29 billion.
Most-played mobile games: Some of the most-played mobile games include
PUBG Mobile, Call of Duty: Mobile, Among Us, and Mini World.
Percentage of gamers: More than 40% of the world's population are gamers.
Open world games: Some of the best open world games include The Witcher 3:
Wild Hunt, Red Dead Redemption 2, Legend of Zelda: Tears of the Kingdom,
Grand Theft Auto 5, Cyberpunk 2077, Horizon Forbidden West, Ghost of
Tsushima, and Elden Ring.
Comparison of World
1. Open-World Games (The Witcher 3, Red Dead Redemption 2, Skyrim)- Vast,
interconnected environments with dynamic elements, Freedom of choice,
different approaches to missions
2. Linear Worlds (The Last of Us, Uncharted, Final Fantasy VII), Restricted,
structured environments, Scripted combat, puzzles, and exploration
3. Fantasy Worlds(Dark Souls, Zelda: Breath of the Wild, Skyrim) , Magical
realms with mythical creatures, Combat, exploration, RPG elements
4. Post-Apocalyptic Worlds, Sci-Fi Worlds, Horror Worlds, Historical Worlds,
Multiplayer Worlds

You might also like