3D Computer Graphics

This section explains the fundamental concepts of three-dimensional computer graphics (3D graphics).

- Table of Contents -

What Is 3D Computer Graphics (3DCG)?

Computer graphics (commonly referred to as CG) refers to the technology of generating images and animations using computational processes on a computer.

CG can be categorized into two types: 2D computer graphics (2DCG), which deals with flat, two-dimensional imagery, and 3D computer graphics (3DCG), which represents objects in three dimensions.

In the past, most graphical applications on PCs used 2DCG. However, with the rapid advancements in computing power and 3D-related technologies, 3DCG has become increasingly common.

3DCG‚Ì—á‚Ì}
3D Computer Graphics
3D images and animations are generated through computational processing on a computer.

3DCG in VCSSL

Supports 3DCG as a Language Specification, Enabling Development of Environment-Independent 3DCG Programs

Programs that use 3DCG are generally known for being highly dependent on the execution environment.

For example, when developing a typical 3DCG program, the programmer often has to take into account a wide range of factors beyond the programming language itself -- such as the operating system, 3D graphics APIs (and wrapper libraries), and the specific type and generation of 3D-capable hardware. Furthermore, at runtime, the environment must meet all of these conditions to function correctly.

In contrast, VCSSL supports 3DCG as an official part of the language specification through VCSSL Graphics3D.

This allows programmers to write 3D programs without worrying about low-level environmental differences such as OS or hardware configurations. As a result, you can develop 3DCG programs that run consistently across various systems.

Easy to Develop

VCSSL is designed with a focus on simplicity and ease of use for casual and educational purposes -- and this philosophy extends to VCSSL Graphics3D as well.

In typical 3DCG development, programmers are often expected to have extensive knowledge of graphics principles, hardware features, and complex mathematics.

A confused person looking at a complicated matrix equation

With VCSSL Graphics3D, however, the system is designed to let you develop 3DCG applications intuitively, without needing to worry about these technical details.

Performance: Around Hundreds of Thousands of Polygons per Second -- Designed for Simplicity, Not Power

As a trade-off for being lightweight and platform-independent, VCSSL Graphics3D is not particularly fast or visually advanced.

For example, its rendering speed tops out at around several hundred thousand polygons per second -- comparable to what early-generation home gaming consoles offered when 3DCG first became available.

In terms of rendering quality, features like texture mapping (applying images to surfaces) are not supported, and shading is limited to flat shading (solid, faceted coloring reminiscent of the earliest polygonal CG).

Why is it so slow and limited by today's standards?

It's because VCSSL Graphics3D does not rely on a GPU (which specializes in 3D processing). Instead, all processing is done by the CPU, which makes it possible to run on virtually any PC without special requirements -- and even carry it around on a USB stick.

In the future, there are plans to offer an optional "performance mode" or "expansion pack" for those who want to trade portability for speed -- but this feature is not available yet.

So, don't expect to achieve modern, high-end 3D game graphics with VCSSL Graphics3D. The system is simply not built for that level of performance or complexity.

However, for purposes such as educational materials, simple visualizations, and data presentations, a system with specs similar to an early 3D home console can actually be more than sufficient. VCSSL Graphics3D is specifically designed with those use cases in mind.

How to Use 3DCG in VCSSL Programs

To use 3DCG in a VCSSL program, you need to import the relevant libraries from the standard library set:

To import these libraries, add the following lines at the beginning of your program:

import Graphics;
import Graphics3D;
import GUI;

Once imported, you'll have access to various functions for working with 3D graphics in your program.