Posts

Showing posts from 2013

Culling Techniques

Image
The best optimization when rendering is to not render anything unnecessary. And that is what culling is about, to find out what can be skipped when rendering because it cannot be visible anyway.  Below are the basic culling techniques which most renders’ implements. Back Face Culling Faces that faces away from the camera cannot be visible on the screen so they don’t need to be drawn. This is so often used that it’s implemented by the hardware. It roughly cuts the amount of faces drawn in half. Just remember to turn it on! Portal Culling A technique that divides the scene into cells with portals between. When rendering, the camera will be in one of the rooms and that room will be rendered normally. But for each portal that is visible in the room a view frustum is set up for the size of the portal and then the room behind it is rendered. This will work recursively. The result will be that a lot of geometry can be culled by view frustum culling when rendering the other

Making the quality of PVRTC textures higher

Image
Introduction When developing mobile games many people face the need of reduction the occupied memory or the size of distributive. They are textures, which are the largest assets in most projects. 1024x1024 uncompressed texture sizes about 4 Mb generally. And usually there is more than one texture in a scene. We have to compress textures if we really want to reduce memory usage and make the loading process of the scenes much faster. We are going to use PVRTC as an example. This algorithm has its own advantages as well as disadvantages. While texture size is reduced by 8 times, terrible artifacts show up, especially in transparent textures. This post is written to help when struggling with those artifacts. Method The main point of this method is the post-processing a texture before compressing it. To do this we need any graphics editing program that supports layers. I used Adobe Photoshop. Let’s consider the algorithm in details: 1) Open your texture with Photoshop. 2) Create

Texture compression is Efficiency key for mobile graphics

Image
Texture compression technology has been developed to provide significant enhancements in quality and efficiency offering application developers the required performance and quality at 2bpp and 4bpp resolutions while lowering system memory usage and reducing GPU processing overhead for the low power-driven world of mobile graphics. Textures are ubiquitous in mobile and desktop graphics. They add a degree of realism to a wide range of applications like games or navigation apps where a combination of factors such as image quality and loading times are vital to smartphone, tablet and portable console users. Typically such content is increasingly pushing for higher quality on higher resolutions in order to raise the overall quality bar. This means computing systems need to have access to the right combination of features, raw graphics and compute performance and software tools to make efficient use of all available resources. Memory, quality, power, performance: the four horsemen of te

Strategies for game developer’s in mobile games

It's important to understand what attracts your users to your game in the first place (why users are playing your game).  Try to apply retention strategies, game mechanics, and tactics that enable users to enjoy that aspect of your game as soon as possible in gameplay. Today the mobile gaming market is going some major changes – more than 60% of the games are using freemium model. It means that a player play for several days in one game and then download a new game. Strategies for game developers: Must build a good game – design, story and sound. Add "play with friends" mode to your game.  This will help the game to increase user retention as they are playing with friends. You probably know draw something, song pop, words with friends or scramble with friends.  Duel platform gives you the ability to add this layer for free and the integration is simple. Here are a few related tactics and game mechanics that can think about applying to retain and engage your u

Pixel vs. Texel

Image
Digital images are composed of dots arranged on a grid. Each of these little dots is called a pixel, a contraction of the term 'picture element'. The same is true of the texture graphics that get drawn onto polygons in 3D games; a Texel simply a pixel within a texture image. Pixel is the fundamental unit of screen space. Texel, or texture element (also texture pixel) is the fundamental unit of texture space. Textures are represented by arrays of Texels, just as pictures are represented by arrays of pixels. When texturing a 3D surface (a process known as texture mapping) the renderer maps Texels to appropriate pixels in the output picture. Between, it is more common to use fill rate instead of write speed and you can easily find all required information, since this terminology is quite old and widely-used. As part of their performance specifications, graphics cards often describe how many Texels they can process each second. This is their texture fill rate: the num

Difference between Editable Poly & Editable Mesh

"Historically, 3D Studio DOS and then MAX were based around Tri Meshes from the beginning. N-polygons (where N is 3 or more) usually have to be broken down to triangles at a certain stage of the calculation in order to be able to calculate the normal and the shading of the surface. The Editable Poly is not just another way of looking at things; it is based on a completely different internal data structure. Originally, it was developed by the makers of the Nendo and Mirai software (whatever their name is today). The popular name of the technology is "Winged Edges". The implementation of this new data structure started during Max 3 development (but there was no UI exposure in 3), then the basic UI came in Max 4 and was extended by Laszlo Sebo's Mesh tools, and matured in Max 5. N-polygons (where N is 3 or more) usually have to be broken down to triangles at a certain stage of the calculation in order to be able to calculate the normal and the shading of the s