Pre-rendering

Pre-rendering is the process in which video footage is not rendered in real-time by the hardware that is outputting or playing back the video. Instead, the video is a recording of footage that was previously rendered on different equipment (typically one that is more powerful than the hardware used for playback). Pre-rendered assets (typically movies) may also be outsourced by the developer to an outside production company. Such assets usually have a level of complexity that is too great for the target platform to render in real-time.

The term pre-rendered refers to anything that is not rendered in real-time. This includes content that could have been run in real-time with more effort on the part of the developer (e.g. video that covers a large number of a game's environments without pausing to load, or video of a game in an early state of development that is rendered in slow-motion and then played back at regular speed). This term is generally not used to refer to video captures of real-time rendered graphics despite the fact that video is technically pre-rendered by its nature. The term is also not used to refer to hand drawn assets or photographed assets (these assets not being computer rendered in the first place).

Advantage and disadvantage

The advantage of pre-rendering is the ability to use graphic models that are more complex and computationally intensive than those that can be rendered in real-time, due to the possibility of using multiple computers over extended periods of time to render the end results. For instance, a comparison could be drawn between rail-shooters Maximum Force (which used pre-rendered 3D levels but 2D sprites for enemies) and Virtua Cop (using 3D polygons); Maximum Force was more realistic looking due to the limitations of Virtua Cop's 3D engine, but Virtua Cop has actual depth (able to portray enemies close and far away, along with body-specific hits and multiple hits) compared to the limits of the 2D sprite enemies in Maximum Force.[1]

The disadvantage of pre-rendering, in the case of video game graphics, is a generally lower level of interactivity, if any, with the player. Another negative side of pre-rendered assets is that changes cannot be made during gameplay. A game with pre-rendered backgrounds is forced to use fixed camera angles, and a game with pre-rendered video generally cannot reflect any changes the game's characters might have undergone during gameplay (such as wounds or customized clothing) without having an alternate version of the video stored. This is generally not feasible due to the large amount of space required to store pre-rendered assets of high quality. However, in some advanced implementations, such as in Final Fantasy VIII, real-time assets were composited with pre-rendered video, allowing dynamic backgrounds and changing camera angles. Another problem is that a game with pre-rendered lighting cannot easily change the state of the lighting in a convincing manner.

As the technology continued to advance in the mid-2000s, video game graphics were able to achieve the photorealism that was previously limited to pre-rendering, as seen in the growth of Machinima.

Usage

Pre-rendered graphics are used primarily as cut scenes in modern video games, where they are also known as full motion video. In the late 1990s and early 2000s, when most 3D game engines had pre-calculated/fixed Lightmaps and texture mapping, developers often turned to pre-rendered graphics which had a much higher level of realism. However this has lost favor since the mid-2000s, as advances in consumer PC and video game graphics have enabled the use of the game's own engine to render these cinematics. For instance, the id Tech 4 engine used in Doom 3 allowed bump mapping and dynamic per-pixel lighting, previously only found in pre-rendered videos.

The first video game to use pre-rendering was the 1982 arcade game Xevious.[2] The Sharp X68000 enhanced remake of Ys I: Ancient Ys Vanished, released in 1991, used 3D pre-rendered graphics for the boss sprites, though this ended up creating what is considered "a bizarre contrast" with the game's mostly 2D graphics.[3] One of the first games to extensively use pre-rendered graphics along with full motion video was The 7th Guest. Released in 1992 as one of the first PC games exclusively on CD-ROM, the game was hugely popular, although reviews from critics were mixed. The game featured pre-rendered video sequences that were at a resolution of 640x320 at 15 frames per second, a feat previously thought impossible on personal computers. Shortly after, the release of Myst in 1993 made the use of pre-rendered graphics and CD-ROMs even more popular; most of the rendered work of Myst became the basis for the re-make realMyst: Interactive 3D Edition with its free-roaming real-time 3D graphics. The most graphically advanced use of entirely pre-rendered graphics in games is often claimed to be Myst IV: Revelation, released in 2004.

The use of pre-rendered backgrounds and movies also was made popular by the Resident Evil and Final Fantasy franchises on the original PlayStation, both of which use pre-rendered backgrounds and movies extensively to provide a visual presentation that is far greater than the console can provide with real-time 3D. These games include real-time elements (characters, items, etc.) in addition to pre-rendered backgrounds to provide interactivity. Often, a game using pre-rendered backgrounds can devote additional processing power to the remaining interactive elements, resulting in a level of detail greater than the norm for the host platform. In some cases, the visual quality of the interactive elements is still far behind the pre-rendered backgrounds.

Games such as Warcraft III: Reign of Chaos have used both types of cutscenes; pre-rendered for the beginning and end of a campaign, and the in-game engine for level briefings and character dialogue during a mission.

Some games also use 16-bit pre-rendered skybox, like Half-Life (only GoldSrc version), Re-Volt, Quake II, and others.

CG movies such as Toy Story, Shrek and Final Fantasy: The Spirits Within are entirely pre-rendered.

Other methods

Another increasingly common pre-rendering method is the generation of texture sets for 3D games, which are often used with complex real-time algorithms to simulate extraordinarily high levels of detail. While making Doom 3, id Software used pre-rendered models as the basis for generating normal, specular and diffuse lighting maps that simulate the detail of the original model in real-time.

Pre-rendered lighting is a technique that is losing popularity. Processor-intensive ray tracing algorithms can be used during a game's production to generate light textures, which are simply applied on top of the usual hand drawn textures.

See also

References

  1. ^ "{title}". Archived from the original on 2016-03-04. Retrieved 2018-09-16.
  2. ^ "Top 100 Games of All Time". Next Generation. No. 21. Imagine Media. September 1996. p. 39.
  3. ^ Szczepaniak, John (7 July 2011). "Falcom: Legacy of Ys". GamesTM (111): 152–159 [157]. Retrieved 2011-09-09. (cf. Szczepaniak, John (July 8, 2011). "History of Ys interviews". Hardcore Gaming 101. Archived from the original on 2012-09-26. Retrieved 9 September 2011.)
AngularJS

AngularJS is a JavaScript-based open-source front-end web framework mainly maintained by Google and by a community of individuals and corporations to address many of the challenges encountered in developing single-page applications. It aims to simplify both the development and the testing of such applications by providing a framework for client-side model–view–controller (MVC) and model–view–viewmodel (MVVM) architectures, along with components commonly used in rich Internet applications. (This flexibility has led to the acronym MVW, which stands for "model-view-whatever" and may also encompass model–view–presenter and model–view–adapter.) In 2014, the original AngularJS team began working on the Angular web framework.

The AngularJS framework works by first reading the Hypertext Markup Language (HTML) page, which has additional custom HTML attributes embedded into it. Angular interprets those attributes as directives to bind input or output parts of the page to a model that is represented by standard JavaScript variables. The values of those JavaScript variables can be manually set within the code, or retrieved from static or dynamic JSON resources.

According to JavaScript analytics service Libscore, AngularJS is used on the websites of Wolfram Alpha, NBC, Walgreens, Intel, Sprint, ABC News, and about 12,000 other sites out of 1 million tested in October 2016. AngularJS is currently in the top 100 of the most starred projects on GitHub.AngularJS is the frontend part of the MEAN stack, consisting of MongoDB database, Express.js web application server framework, Angular.js itself, and Node.js server runtime environment.

Chromium (web browser)

Chromium is Google's open-source web browser project. It is a fully functional browser on its own and supplies the vast majority of code for the Google Chrome browser. The two browsers have always had some differences, as indicated by their names: chromium is the metal used to make chrome plating.The Chromium code is also widely used by other parties to create their own browsers. Many vendors use the code in a similar manner as Google, while others simply build it as-is and release browsers with the Chromium name.

The user interface is minimalist because Google wanted its browser to "feel lightweight (cognitively and physically) and fast".

Cutscene

A cutscene or event scene (sometimes in-game cinematic or in-game movie) is a sequence in a video game that is not interactive, breaking up the gameplay. Such scenes could be used to show conversations between characters, set the mood, reward the player, introduce new gameplay elements, show the effects of a player's actions, create emotional connections, improve pacing or foreshadow future events.Cutscenes often feature "on the fly" rendering, using the gameplay graphics to create scripted events. Cutscenes can also be pre-rendered computer graphics streamed from a video file. Pre-made videos used in video games (either during cutscenes or during the gameplay itself) are referred to as "full motion videos" or "FMVs". Cutscenes can also appear in other forms, such as a series of images or as plain text and audio.

First-person (gaming)

In video games, first person is any graphical perspective rendered from the viewpoint of the player's character, or a viewpoint from the cockpit or front seat of a vehicle driven by the character. Many genres incorporate first-person perspectives, among them adventure games, driving, sailing, and flight simulators. Most notable is the first-person shooter, in which the graphical perspective is an integral component of the gameplay.

Full motion video

A full motion video (FMV) is a video game narration technique that relies upon pre-recorded video files (rather than sprites, vectors, or 3D models) to display action in the game. While many games feature FMVs as a way to present information during cutscenes, games that are primarily presented through FMVs are referred to as full-motion video games or interactive movies.

Google Chrome

Google Chrome (commonly known simply as Chrome) is a cross-platform web browser developed by Google. It was first released in 2008 for Microsoft Windows, and was later ported to Linux, macOS, iOS, and Android. The browser is also the main component of Chrome OS, where it serves as the platform for web apps.

Most of Chrome's source code comes from Google's open-source Chromium project, but Chrome is licensed as proprietary freeware. WebKit was the original rendering engine, but Google eventually forked it to create the Blink engine; all Chrome variants except iOS now use Blink.As of 2018, StatCounter estimates that Chrome has a 61% worldwide browser market share across all platforms. Because of this success, Google has expanded the "Chrome" brand name to other products: Chrome OS, Chromecast, Chromebook, Chromebit, Chromebox, and Chromebase.

Google Chrome for Android

Google's Chrome for Android is an edition of Google Chrome released for the Android system. On February 7, 2012, Google launched Google Chrome Beta for Android 4.0 (Ice Cream Sandwich) devices, for selected countries. The first stable version of the browser was released on June 27, 2012. Chrome 18.0.1026.311, released on September 26, 2012, was the first version of Chrome for Android to support Intel x86 based mobile devices.

Link prefetching

Link prefetching allows web browsers to pre-load resources. This speeds up both the loading and rendering of web pages. Prefetching was first introduced in HTML5.

Prefetching is accomplished through hints in web pages. These hints are used by the browser to prefetch links. Resources which can be prefetched include: JavaScript, CSS, image, audio, video, and web fonts. DNS names and TCP connections can also be hinted for prefetching.

Parallax scrolling

Parallax scrolling is a technique in computer graphics where background images move past the camera more slowly than foreground images, creating an illusion of depth in a 2D scene and adding to the sense of immersion in the virtual experience. The technique grew out of the multiplane camera technique used in traditional animation since the 1930s. Parallax scrolling was popularized in 2D computer graphics and video games by the arcade games Moon Patrol and Jungle Hunt, both released in 1982. Some parallax scrolling had earlier been used by the 1981 arcade game Jump Bug.

Previsualization

Previsualization (also known as previs, previz, pre-rendering, preview or wireframe windows) is the visualizing of complex scenes in a movie before filming. It is also a concept in still photography. Previsualization is used to describe techniques such as storyboarding, either in the form of charcoal sketches or in digital technology, in the planning and conceptualization of movie scenes.

Rendering (computer graphics)

Rendering or image synthesis is the automatic process of generating a photorealistic or non-photorealistic image from a 2D or 3D model (or models in what collectively could be called a scene file) by means of computer programs. Also, the results of displaying such a model can be called a render. A scene file contains objects in a strictly defined language or data structure; it would contain geometry, viewpoint, texture, lighting, and shading information as a description of the virtual scene. The data contained in the scene file is then passed to a rendering program to be processed and output to a digital image or raster graphics image file. The term "rendering" may be by analogy with an "artist's rendering" of a scene.

Though the technical details of rendering methods vary, the general challenges to overcome in producing a 2D image from a 3D representation stored in a scene file are outlined as the graphics pipeline along a rendering device, such as a GPU. A GPU is a purpose-built device able to assist a CPU in performing complex rendering calculations. If a scene is to look relatively realistic and predictable under virtual lighting, the rendering software should solve the rendering equation. The rendering equation doesn't account for all lighting phenomena, but is a general lighting model for computer-generated imagery. 'Rendering' is also used to describe the process of calculating effects in a video editing program to produce final video output.

Rendering is one of the major sub-topics of 3D computer graphics, and in practice is always connected to the others. In the graphics pipeline, it is the last major step, giving the final appearance to the models and animation. With the increasing sophistication of computer graphics since the 1970s, it has become a more distinct subject.

Rendering has uses in architecture, video games, simulators, movie or TV visual effects, and design visualization, each employing a different balance of features and techniques. As a product, a wide variety of renderers are available. Some are integrated into larger modeling and animation packages, some are stand-alone, some are free open-source projects. On the inside, a renderer is a carefully engineered program, based on a selective mixture of disciplines related to: light physics, visual perception, mathematics, and software development.

In the case of 3D graphics, rendering may be done slowly, as in pre-rendering, or in realtime. Pre-rendering is a computationally intensive process that is typically used for movie creation, while real-time rendering is often done for 3D video games which rely on the use of graphics cards with 3D hardware accelerators.

Side-scrolling video game

A side-scrolling game, side-scroller or 2D is a video game in which the gameplay action is viewed from a side-view camera angle, and the onscreen characters can generally only move to the left or right. These games make use of scrolling computer display technology. The move from single-screen or flip-screen graphics to scrolling graphics, during the golden age of video arcade games and during third-generation consoles, would prove to be a pivotal leap in game design, comparable to the move to 3D graphics during the fifth generation. Although side-scrolling games have been supplanted by 3D games, they continue to be produced, particularly for handheld devices or for digital-only releases.

Software rendering

Software rendering is the process of generating an image from a model by means of computer software. In the context of computer graphics rendering, software rendering refers to a rendering process that is not dependent upon graphics hardware ASICs, such as a graphics card. The rendering takes place entirely in the CPU. Rendering everything with the (general-purpose) CPU has the main advantage that it is not restricted to the (limited) capabilities of graphics hardware, but the disadvantage that more semiconductors are needed to obtain the same speed.

Rendering is used in architecture, simulators, video games, movies and television visual effects and design visualization. Rendering is the last step in an animation process, and gives the final appearance to the models and animation with visual effects such as shading, texture-mapping, shadows, reflections and motion blurs. Rendering can be split into two main categories: real-time rendering (also known as online rendering), and pre-rendering (also called offline rendering). Real-time rendering is used to interactively render a scene, like in 3D computer games, and generally each frame must be rendered in a few milliseconds. Offline rendering is used to create realistic images and movies, where each frame can take hours or days to complete, or for debugging of complex graphics code by programmers.

Sprite (computer graphics)

Sprite is a computer graphics term for a two-dimensional bitmap that is integrated into a larger scene.

Originally sprites referred to independent objects that are composited together, by hardware, with other elements such as a background. The composition occurs as each scan line is prepared for the video output device, such as a CRT, without involvement of the main CPU and without the need for a full-screen frame buffer. Sprites can be positioned or altered by setting attributes used during the hardware composition process. Examples of systems with hardware sprites include the Atari 8-bit family, Commodore 64, Amiga, Nintendo Entertainment System, Sega Genesis, and many coin-operated arcade machines of the 1980s. Sprite hardware varies in how many sprites are supported, how many can be displayed on a single scan line (which is often a lower number), the dimensions and colors of each sprite, and special effects such as scaling or reporting pixel-precise overlap.

Use of the term sprite has expanded to refer to any two-dimensional bitmap used as part of a graphics display, even if drawn into a frame buffer (by either software or a GPU) instead of being composited on-the-fly at display time.

The act of manually creating sprites, as opposed to pre-rendering them or using digitized images, is a form of pixel art. It is sometimes referred to as spriting, especially in the hobbyist community.

Text-based game

A text game or text-based game is a video game that uses text characters instead of bitmap or vector graphics. Text-based games were a popular form of interactive fiction in the 1980s.

Tile-based video game

A tile-based video game is a type of video or video game where the playing area consists of small square (or, much less often, rectangular, parallelogram, or hexagonal) graphic images referred to as tiles laid out in a grid. That the screen is made of such tiles is a technical distinction, and may not be obvious to people playing the game. The complete set of tiles available for use in a playing area is called a tileset. Tile-based games usually simulate a top-down, side view, or 2.5D view of the playing area, and are almost always two-dimensional.

Much video game hardware from the late 1970s through the mid 1990s had native support for displaying tiled screens with little interaction from the CPU.

Traitors Gate (video game)

Traitors Gate is a 1999 graphic adventure game developed by Daydream Software. Set in a reproduction of the Tower of London, it follows the story of Raven, an American special agent trying to steal and replace the Crown Jewels of England for their protection. The player assumes the role of Raven and solves puzzles within the Tower while evading the guards. Progression through the game is nonlinear and under a time limit: the player may solve certain challenges in multiple ways, but must win before 12 hours elapse.

Traitors Gate was conceived in 1996 by Daydream Software designer Nigel Papworth, who saw the Tower of London as a natural setting for a game. The team sought to replicate the structure with near-perfect accuracy, and began by capturing over 5,000 reference photographs on location. Pre-rendering the game's panoramic environments challenged the team, which averaged seven members; production took roughly three years to complete. Self-funded by Daydream after a successful initial public offering, Traitors Gate ultimately cost between $1- and $2-million, and by 2000 was distributed in 10 languages and 27 countries by companies such as DreamCatcher Interactive and FX Interactive.

The game was a commercial success and became Daydream Software's highest-selling title by 2003, with sales between 300,000 and 400,000 units worldwide. Many of these sales derived from North America and Spain; it failed commercially in Germany, Italy and the United Kingdom. Critical reception of Traitors Gate was "mixed or average", according to review aggregation site Metacritic. Its puzzles and recreation of the Tower of London were lauded by many critics—the latter was praised by the British Academy of Film and Television Arts—but the title's bugs, pacing, large interface and use of mazes drew mixed reactions. Certain writers panned the game outright. In 2003, Traitors Gate was followed by the sequel Traitors Gate 2: Cypher, directed by Papworth and developed by 258 Productions.

Video game graphics

A variety of computer graphic techniques have been used to display video game content throughout the history of video games. The predominance of individual techniques have evolved over time, primarily due to hardware advances and restrictions such as the processing power of central or graphics processing units.

Virtual camera system

In 3D video games, a virtual camera system aims at controlling a camera or a set of cameras to display a view of a 3D virtual world. Camera systems are used in videogames where their purpose is to show the action at the best possible angle; more generally, they are used in 3D virtual worlds when a third person view is required.

As opposed to film makers, virtual camera system creators have to deal with a world that is interactive and unpredictable. It is not possible to know where the player's character is going to be in the next few seconds; therefore, it is not possible to plan the shots as a film maker would do. To solve this issue, the system relies on certain rules or artificial intelligence to select the most appropriate shots.

There are mainly three types of camera systems. In fixed camera systems, the camera does not move at all and the system displays the player's character in a succession of still shots. Tracking cameras, on the other hand, follow the character's movements. Finally, interactive camera systems are partially automated and allow the player to directly change the view. To implement camera systems, video game developers use techniques such as constraint solvers, artificial intelligence scripts, or autonomous agents.

This page is based on a Wikipedia article written by authors (here).
Text is available under the CC BY-SA 3.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.