Search NASA⌕ Search

Engineering topics

Kristie O'Brien

Publications and source records attributed to Kristie O'Brien.

Creating Camera Controls for First-Person Camera in VulkanSceneGraph

The way users interact with a virtual, three-dimensional (3D) scene is heavily influenced by the way the camera used to view the scene is controlled. A first-person camera is a common form of camera control for computer programs. Its role is to create an immersive viewer experience, which allows users to traverse a scene as they might in the real world. Allowing for the implementation of the first-person camera makes for a more holistic, well-rounded way to interact with the visualization program. Accomplishing this involves mathematical calculations that define how the camera should be moved for the computer system. These movements equate to the rotation, translation, and scale of the changes. It should be noted that a computer does not inherently process what movement directions (left, right, up, or down) mean. The mathematical equations used define these principles in a way the computer can process. Further aspects to consider are detecting when the camera has moved and how far. This is most frequently accomplished through user |input through external devices. These devices, for the purpose of this report, include mouse input and keyboard input. Additionally, the in-development program this report is referencing works with the VulkanSceneGraph (VSG) library to create the scene and build the base of the camera controls. Although VSG is a powerful library with many capabilities, additional Application Programming Interfaces (APIs) might be needed during development to produce the desired results, as is the case in this program. Through combining proper mathematical calculations, utilizing additional APIs, and implementing the existing VSG library capabilities, implementing first-person camera controls is possible in a 3D scene.

Kristie O'Brien↗

Preventing Camera Clipping Through Varied Terrain and Other Planetary Objects

Within the scope of computer visualization systems and technologies, camera objects allow users to navigate three-dimensional (3D) scenes much like a person would navigate the real world. As such, when one seeks to model a scene or environment based on real-world laws, the camera must often follow these same conventions. Accomplishing this in the world of computer renderings presents unique challenges for defining space, spatial relations, depth, distance, and height. Therefore, movement for a camera must be specifically designated and processed by the program in order to achieve accurate movement representations. Although this thought process involves each aspect of camera movement, one specific aspect of camera movement is the primary focus of this report: ensuring that the camera does not clip through an object and appear subsurface. This is important to mimic real-world movements because people in the real world would not go beneath the solid-surface terrain unless they intended to do so. By working with numerical definitions, equations, and variables, a computer can relate an object to its existence in space. Thus, such challenges in camera movements with computationally rendered 3D spaces can be mitigated.

Kristie O'Brien↗