Computers Windows Internet

Distributed rendering. What is rendering? What is render scale in games

Computer graphics is full of surprises, which is why it so often gives us the opportunity to get acquainted with new terms. Those who have never used such programs are unlikely to be able to tell you what a render is and what it is for. We'll try to figure this out.

Definition

Interestingly, there is practically nothing on the Internet for this particular request. Many are racking their brains in search of an interpretation of "render". In fact, everything turns out to be easier. There is such a process in computer graphics as rendering. The program that performs this process is called a renderer. Considering such software, you need to understand what kind of action it is and where it is applied.

Process

So, rendering is a capacious process that transforms an image according to a model thanks to a program. From English, the word is translated as "visualization". The word "model" does not necessarily mean something tangible. Here we can talk about objects and phenomena. In general, interpretations can provide geometric, geographical information. They may relate to lighting, the presence of details, substances, the intensity of the physical field.

Computer graphics

When asked, they usually mean rendering. This process is often associated with computer graphics. In this case, the visualization proceeds according to the worked out plan. A flat image is formed for a 3D scene in a raster format.

Visualization itself is considered important in this area. It is conditionally connected with different sections of computer graphics. Now it's hard to say that there is a specific application for rendering. Typically, visualization is included in the package and three-dimensional modeling and animation. Although you can try to find renders.

Methods

When we know what a render is, we need to understand its functions. Obviously can help with visualization. But the process itself can occur in different ways. There are many algorithms for this action. Some programs use specifically their own, some exploit several at once.

Tracing served as the creation of a number of rendering methods. Displaying all the rays of light that illuminate the scene is impractical. It takes too much time if approximation or digitization is not taken into account.

One of the methods is rasterization. It works in conjunction with line scanning. In this case, objects are projected onto the display. And the effect of perspective is not considered.

The raycasting method involves consideration from a specified point. Rays are sent from it to objects and the color of the pixel is determined. Once the beam has reached the object or background, it does not propagate further. This method allows simple ways to use optical effects.

Another two methods are ray tracing or path tracing. The first option is similar to the previous one. But when the beam hits an object, it spreads further. Thus, three more rays appear. Each contributes to the color of a pixel in a specific way. This is how reflection, shadow and refraction appear. This method makes the image photorealistic, although it is considered resource-intensive. Path tracing is similar to the above method. The only difference is that the physical laws of light propagation are more pronounced.

How does it work?

If you understand what rendering is in general, then most likely it will be difficult for you to understand the mathematical justification of the process. In order for rendering to work correctly, it must be implemented using a physical model. The program does the calculations. But there can be several equations, as well as solutions. We have already seen this in the description of visualization methods.

Setting

Render settings can vary greatly. It all depends on the tasks of the user and his skills. For example, you can create a quick draft rendering. To do this, you will have to additionally download the script. Each time the command will automatically adjust the program settings so that the visualization is draft, that is, in tolerable quality.

Rendering settings can specify methods for rendering models. For example, for Photoshop, you can search for a set of such settings. Based on them, they create their own parameters, or, having slightly adjusted, use the established ones.

Programs

The VRay renderer is a whole system for rendering. Appeared back in 2000. It can be installed as a plugin for a number of programs. Among the latter are Cinema 4D, Rhino, and Autodesk 3ds Max. This system can be used as a module for Blender.

Render 3D Max or Autodesk 3ds Max is a multifunctional program that performs not only visualization, but also creates and edits three-dimensional graphics. Handles animation easily. At the moment it is very popular, because it has acquired a wide variety of functions for working with a 3D image. It has many tools for artists and those who work with multimedia.

Vegas Pro

This is a complete program for editing and editing videos, as well as multi-track recording. It is difficult to consider Vegas as a renderer, although there is such a function here too. To turn the project into a finished file, you need to click on Render As, in the new window give the name of the video and select the Video for Windows extension, below there will be a line with a choice of parameter templates. Here we are looking for = NTSC DV. After that, you will have to wait until the program collects and saves the video.

Perhaps your project may need a different template, then you can click on Custom and in the new window choose a more suitable option. Here you can set the quality of the rendered video. Below there is a “Video” tab, on which all parameters are set individually for each user.

Rendering often results in video output errors. If you want to seriously engage in it, you will have to study the process, technology and methods in detail in order to further reduce errors to a minimum.

In continuation of the educational program on computer graphics for both programmers and artists, I want to talk about what rendering. The question is not as complicated as it seems, under the cut is a detailed and accessible explanation!

I started writing articles that are an educational program for a game developer. And he hurried, writing an article about, without telling what rendering is. Therefore, this article will be a prequel to an introduction to shaders and a starting point in our educational program.

What is rendering? (for programmers)

So, Wikipedia gives the following definition: Rendering is a term in computer graphics that refers to the process of obtaining an image from a model using a computer program.

Pretty good definition, let's continue with it. Rendering is visualization. In computer graphics, both 3D artists and programmers understand rendering as the creation of a flat picture - a digital bitmap image from a 3D scene.
That is, an informal answer to our question "What is rendering?" - this is getting a 2D picture (it doesn’t matter on the screen or in the file). A computer program that renders is called a renderer or a renderer.

Render

In turn, the word "render" most often refers to the result of rendering. But sometimes the process is also called the same (just in English the verb - render was transferred to Russian, it is shorter and more convenient). You have probably come across various pictures on the Internet, with the caption “Guess the render or photo?”. This means a 3D visualization or a real photograph (computer graphics have advanced so much that sometimes you can’t figure it out).

Types of rendering

Depending on the possibility to make calculations parallel, there are:

  • multi-threaded rendering - calculations are performed in parallel in several threads, on several processor cores,
  • single-threaded rendering - in this case, the calculations are performed in one thread synchronously.

There are many rendering algorithms, but all of them can be divided into two groups according to the principle of obtaining an image: rasterization of 3D models and ray tracing. Both methods are used in video games. But ray tracing is more often used not to obtain real-time images, but to prepare so-called lightmaps - light maps that are precalculated at design time, and then the precalculation results are used at runtime.

What is the essence of the methods? How does rasterization and ray tracing work? Let's start with rasterization.

Rasterizing a polygonal model

The stage consists of models located on it. In turn, each model consists of primitives.
It can be points, segments, triangles and some other primitives, such as quads for example. But if we render not points or segments, any primitives turn into triangles.

The task of the rasterizer (the program that performs the rasterization) is to get the pixels of the resulting image from these primitives. Rasterization in the context of the graphics pipeline occurs after the vertex shader and before the fragment shader ().

*perhaps the next article will be the analysis of the graphic pipeline that I promised, write in the comments whether such an analysis is needed, it will be pleasant and useful for me to know how many people are interested in all this. I made a separate page where there is a list of discussed topics and future ones -

In the case of a segment, you need to get the pixels of the line connecting two points, in the case of a triangle, the pixels that are inside it. For the first problem, the Bresenham algorithm is used, for the second one, the algorithm of sweeping straight lines or checking barycentric coordinates can be used.

A complex character model consists of the smallest triangles and the rasterizer generates a completely reliable picture from it. Why bother with ray tracing then? Why not rasterize everything? And the point is this, the rasterizer knows only its routine business, triangles - into pixels. It doesn't know anything about the objects next to the triangle.

And this means that he is not able to take into account all the physical processes that occur in the real world. These processes directly affect the image. Reflections, reflexes, shadows, subsurface scattering and more! Everything without which we will see just plastic models in a vacuum ...
And the players want graphony! Players need photorealism!

And graphics programmers have to invent various techniques to achieve closeness to photorealism. To do this, shader programs use textures that pre-calculate different light, reflection, shadow, and subsurface scattering data.

In turn, ray tracing makes it possible to calculate this data, but at the cost of more calculation time, which cannot be done at run time. Let's see what this method is.

ray tracing ray tracing)

Remember about corpuscular wave dualism? Let me remind you what the essence is: light behaves both as waves and as a stream of particles - photons. So tracing (from the English "trace" to trace the path), is a simulation of light rays, roughly speaking. But tracing every ray of light in the scene is impractical and takes an unacceptably long time.

We will limit ourselves to a relatively small number, and we will trace the rays in the directions we need.
What direction do we need? We need to determine what colors the pixels in the resulting image will have. That is, we know the number of rays, it is equal to the number of pixels in the image.

What about direction? Quite simply, we will trace rays according to the point of view (how our virtual camera is directed). The beam will meet at some point with the scene object (if it does not meet, then there is a dark pixel or a sky pixel from the skybox, for example).

Upon encountering an object, the beam does not stop its propagation, but is divided into three component beams, each of which contributes to the color of a pixel on a two-dimensional screen: reflected, shadow, and refracted. The number of such components determines the depth of tracing and affects the quality and photorealism of the image. Due to its conceptual features, the method allows obtaining very photorealistic images, however, due to the high resource intensity, the rendering process takes a significant amount of time.

Rendering for artists

But rendering is not only software rendering! Artful artists also use it. So what is rendering from an artist's point of view? About the same as for programmers, only concept artists do it themselves. Hands. Just like a renderer in a video game or V-ray in Maya, artists take into account lighting, subsurface scattering, fog, and other factors that affect the final color of the surface.

For example, the picture above is worked out in stages in this way: Rough sketch - Line - Color - Volume - Render materials.

Rendering of materials includes texturing, glare work - metals, for example, are most often very smooth surfaces that have clear glare on the edges. In addition to all this, artists are faced with the rasterization of vector graphics, which is about the same as the rasterization of a 3D model.

Vector graphics rasterization

The essence is about the same, there are data of 2d curves, these are the contours that define the objects. We have a final bitmap and the rasterizer converts the curve data into pixels. After that, we have no way to scale the image without losing quality.

Read more

  • - a simple explanation of complex and scary shaders
  • - A useful overview of particles and a selection of video tutorials on creating special effects in Unity3d

Afterword

In this article, I hope you have mastered so many letters, you have got an idea of ​​what rendering is, what types of rendering exist. If you have any questions, feel free to ask them in the comments, I will definitely answer. I would be grateful for clarifications and indications of any inaccuracies and errors.

Editor's Choice

What is rendering (rendering), and what features does this process have

Computer graphics- an important part of almost any sphere and environment with which a person interacts.

All objects of the urban environment, the design of premises, household items, and at the stage of their design and implementation were carried out in the form of a three-dimensional computer model, which is drawn in special programs by artists.

Model drawing takes place in several stages, one of the final stages is rendering - what it is and how it is carried out is described in this material.

Definition

Rendering (or, as it is also called, rendering) is one of the final processes in processing and rendering a certain volumetric three-dimensional computer model.

Technically, it is the process of "gluing" or matching, creating a three-dimensional image from a number of two-dimensional images. Depending on the quality or detail, there can be just a few or a lot of two-dimensional images.

Also, sometimes at this stage, in the process of “collecting” the model, some three-dimensional elements can be used.

This process is quite complex and lengthy. It is based on various calculations performed both by the computer and by the artist himself (to a lesser extent).

Important! Programs that allow you to implement it are designed to work with three-dimensional graphics, which means that they are quite powerful and require significant hardware resources and a significant amount of RAM.

They put a significant load on the hardware of the computer.

Scope of application

In what areas is this concept applicable and is it necessary to carry out such a process?

This process is necessary in all areas in which the compilation of three-dimensional three-dimensional models is involved, and in general computer graphics, and these are almost all areas of life with which a modern person can interact.

Computer design is used in:

  • Design of buildings and structures;
  • landscape architecture;
  • Designing the urban environment;
  • interior design;
  • Almost every material thing produced was once a computer model;
  • Video games;
  • Film production, etc.

At the same time, this process, in its essence, is final.

It can be the last or penultimate one when designing a model.

Note that rendering is often referred to not as the process of compiling a model itself, but as its result - a finished three-dimensional computer model.

Technology

This procedure can be called one of the most difficult when working with three-dimensional images and objects in computer graphics.

This stage is accompanied by complex technical calculations performed by the program engine - mathematical data about the scene and the object at this stage are translated into the final two-dimensional image.

That is, color, light and other data about a three-dimensional model are processed pixel by pixel so that it can be displayed as a two-dimensional picture on a computer screen.

That is, using a series of calculations, the system determines exactly how each pixel of each two-dimensional image should be colored so that as a result, on the user's computer screen, it looks like a three-dimensional model.

Kinds

Depending on the characteristics of the technology and work, two main types of such a process are distinguished - this is real-time rendering and preliminary rendering.

In real time

This type is widespread, mainly in computer games.

In the conditions of the game, the image should be calculated and lined up as quickly as possible, for example, when the user moves in the location.

And although this does not happen “from scratch” and there are some initial volumetric blanks, anyway, it is precisely because of this feature that computer games of this type put a very large load on the computer hardware.

In the event of a failure in this case, the picture may change and distort, unloaded pixels may appear, when the user (character) performs any actions, the picture may not actually change completely or partially.

In real time, such an engine in games works because it is impossible to predict the nature of actions, the direction of the player’s movement, etc. (although there are worked out most likely scenarios).

For this reason, the engine has to process the image at a speed of 25 frames per second., since even when the speed drops to 20 frames per second, the user will feel discomfort, as the picture will begin to twitch and slow down.

With all this, the optimization process plays a very important role, that is, the measures that developers take to reduce the load on the engine and increase its performance during the game.

For this reason, smooth rendering requires, first of all, a texture map and some acceptable graphics simplifications.

Such measures help reduce the load on both the engine and the computer hardware., which ultimately leads to the fact that the game is easier to start, simpler and faster.

It is the quality of optimization of the rendering engine that largely determines how stable the game is and how realistic everything that happens looks.

Preliminary

This type is used in situations where interactivity is not important.

For example, this type is widely used in the film industry, when designing any model of limited functionality, for example, designed only to inspect it using a PC.

That is, this is a more simplified approach, which is also possible, for example, in design - that is, in situations where user actions do not need to be guessed, since they are limited and calculated in advance (and with this in mind, rendering can be done in advance).

In this case, when viewing the model, the load falls not on the program engine, but on the PC's central processor. At the same time, the quality and speed of building a picture depend on the number of cores, the state of the computer, its performance and the CPU.

The origin of the term The word "render" (or "rendering") came, like much related to IP technologies, from the English language. It comes from the old French rendre, meaning "to do", "give", "return", "return". The deeper roots of this verb go back to ancient Latin: re is a prefix meaning “back” and dare is “to give”. Hence - one of the meanings of the modern term. Rendering is, among other things, the process of recreating a planar image based on a three-dimensional model containing information about the physical properties of an object - its shape, surface texture, illumination, and so on.

rendering(English rendering - “visualization”) in computer graphics is the process of obtaining an image from a model using a computer program.

Here, a model is a description of any objects or phenomena in a strictly defined language or in the form of a data structure. Such a description may contain geometric data, the position of the observer's point, information about lighting, the degree of presence of some substance, the strength of the physical field, etc.

An example of visualization is radar space images, which represent in the form of an image data obtained by means of radar scanning of the surface of a cosmic body in the range of electromagnetic waves invisible to the human eye.

Often in computer graphics (artistic and technical), rendering is understood as the creation of a flat image (picture) based on a developed 3D scene. An image is a digital bitmap. A synonym in this context is Visualization.

Visualization is one of the most important branches in computer graphics, and in practice it is closely related to the rest. Typically, 3D modeling and animation software packages also include a rendering function. There are separate software products that perform rendering.

Depending on the purpose, pre-rendering is distinguished as a rather slow rendering process, which is mainly used when creating video, and real-mode rendering, used in computer games. The latter often uses 3D accelerators.

Rendering Features

It will take a lot of time to bring the preliminary sketch to perfection - the duration of processing complex images by a computer can reach several hours. During this period there is:

  • coloring
  • detailing of small elements
  • elaboration of lighting effects - reflections of streams, shadows and others
  • display of climatic conditions
  • implementation of other details to increase realism.

The complexity of processing affects the formation of the price of 3d visualization, the more time it takes, the more expensive it will be to work on the project. Whenever possible, modelers simplify the rendering process, for example, calculate individual moments or use other tools to reduce rendering time without compromising its quality.

Who is rendering?

The most common profession that requires you to know how to render is "3D designer". A specialist of this kind can create everything: from an elementary banner to models of computer games.

And, of course, a 3D designer deals not only with rendering, but also with all the previous stages of creating 3D graphics, namely: modeling, texturing, lighting, animation, and only after that - visualization.

However, a 3D designer does not work with mathematical and physical formulas, describing them in programming languages. All this is done for him by compiler programs (3D Max, Maya, Cinema 4D, Zbrush, Blender, etc.) and already written libraries of physical properties (ODE, Newton, PhysX, Bullet, etc.).

Separately, among the programs listed above that allow you to create 3D graphics, you need to highlight the free OGRE 3D program - graphics engines specifically for rendering, with which you can not only create “pictures”, but also implement a whole, and most importantly, a full-fledged computer game. For example, Torchlight uses OGRE as its game engine.

Well, for processing such a quantity and quality of graphic scenes, a desktop computer will not be enough, so recently not only programs have been made for rendering, but also services for processing their processes, such as a “render farm”. And it is worth noting that the pleasure is not cheap, despite the low prices of the render farm, the rendering price is quite impressive - 3.9 cents / GHz-hour.

Render types: online and pre-rendering

There are two main types of rendering, depending on the speed at which the finished image should be obtained. The first is real-time rendering, which is necessary in interactive graphics, mainly in computer games. It needs a fast render, the image must be displayed instantly, so a lot of the scene is calculated in advance and stored in it as separate data. These include textures that define the appearance of objects and lighting.

The programs used for online rendering use mainly the resources of the graphics card and RAM of the computer and, to a lesser extent, the processor. For rendering scenes that are more visually complex, as well as where the issue of speed is not so relevant, when the quality of the render is much more important, other rendering methods and programs are used. In this case, the full power of multi-core processors is used, the highest parameters for texture resolution and lighting calculation are set. Render post-processing is often used to achieve a high degree of photorealism or the desired artistic effect. Scene Rendering Methods The choice of imaging methods depends on the specific task and often on the personal preferences and experience of the renderer.

More and more new rendering systems are being developed - either highly specialized or universal. Today, the most common rendering programs are based on three main computational methods: Rasterization (Scanline) - a method in which an image is created by rendering not individual pixel points, but entire polygon faces and large areas of surfaces. The textures that define the properties of objects, like the light in the scene, are fixed as immutable data. The resulting image often does not reflect perspective changes in illumination, depth of field, etc. It is most often used in systems for rendering scenes in games and in video production. Raytracing - The physics of the scene is calculated based on the rays emanating from the lens of the virtual camera and the analysis of the interaction of each ray with the objects it encounters in the scene. Depending on the quantity and quality of such “bounces”, the reflection or refraction of light, its color, saturation, etc. are simulated. The quality of the resulting image is much higher compared to rasterization, but you have to pay for its realism with an increased consumption of resources. Calculation of reflected light (Radiosity) - each point, each pixel of the image is endowed with a color that does not depend on the camera. It is influenced by global and local light sources and the environment. This method makes it possible to calculate the appearance of color and light reflections from adjacent objects on the surface of the model. Practice shows that the most advanced and popular rendering systems use a combination of all or the main methods. This allows you to achieve maximum photorealism and reliability in the display of physical processes in a given scene.