Required knowledge

From XVRWiki
Jump to navigation Jump to search

Beginners in 3D computer systems are strongly recommended to read this.

Creating a 3D computer system is a task that requires knowledge and dedication. Creating a 3D computer system can be considered the most involved task in computer technology. Above-average skills in computer hardware and software are needed to succeed at creating a 3D computer system.

Industry[edit]

Electronics[edit]

  • Knowledge of where components are coming from. There are a number of companies around the world that produce components.
  • Knowledge of how to build components that cannot be bought
  • What level of abstraction construction of a system happens. Where do components come from? Which companies supply components? What is the lifecycle of a component? Does a component have a data sheet?

Display/optics[edit]

  • Glass companies such as SCHOTT

Light/displays[edit]

Creating a 3D computer system requires the following knowledge in how light works, for a 3D display:

  • classical flat 2D imagery, including photography and television
  • Knowledge of what a light-emitting diode is, and some knowledge about lasers.

Software[edit]

Creating a 3D computer system requires the following software knowledge:

  • How computers store data: familiarity with binary notation, boolean logic
  • How computers can process data: familiarity with some data structures, algorithms, and so on.
  • Firmware: Understanding of the most basic operation of a computer system when it starts up
  • scheduled and protected memory operating systems: Knowledge of some OS development, such as schedulers, memory management, file systems, interaction with hardware components such as displays and peripherals, networking, dynamic linking, executable formats, and so on. This includes the next three items on this list.
  • Some familiarity with how UNIX, Mac OS X, and Windows relate to each other.
  • Programming language: Knowledge of at least one programming language such as C, and knowledge of some assembly language such as x86-64 assembly.
  • Code management: Knowledge of code management using a tool such as git or svn.

References[edit]