   Esenthel Engine - Advanced 3D Game Engine available
  Hello,I have recently released publicly Esenthel Engine (free for non-commercial use), it's an advanced 3d game engine.You can download it from here http://www.esenthel.com/en/download.htmlThe package contains step by step installation, documentation, tutorials and tools.This is the full list of features:1. Key featuressimplicityspeedstabilityvisual effectsphysicsconstantly evolvingtons of useful functions2. Detailed featuresAIpathfinding (2d polygon based)Animation Systemskeletalkeyframedblendingeventshighly compatible (one humanoid animation works on all humanoid skeletons)Camerasupport of 4 cameras - Fpp, Tpp, Isometric, Customcamera effects - quake, dizzynessautomatic frustum calculation for geometry cullingGeometrycalculating surface area, volume, distance between, multiple transform operations (moving, rotating, scaling, transforming by matrix), basic collision detection, drawing ofplanepoint (2d/3d)edge (2d/3d)triangle (2d/3d)quad (2d/3d)rectangleboxoriented boxcirclespherecapsuletubetorusconepyramidGraphicscolor rgb, hue, brightness, opacity, inverse, adding, lerpinggamma calibration4:3, 5:4, 16:9, 16:10 or custom screen aspect supportshader model 2.0, 3.0 supportedvertex buffering for simple graphics drawing (images, gui elements, geometry objects, ...)anisotropic filtering, mip-mapping, synchronization, windowed / fullscreenscreenshot takingfont drawing with shadowstextures supported L8, A8, A8L8, X8R8G8B8, A8R8G8B8, DXT3, DXT5, ...texture lock, unlock, crop, blur, downsample, pixel set, getbump to normal map conversionimporting bmp, png, jpg, tga, ddspoint, directional, cone lightsocclusion query supportparticle system (based on a single shape, or animated skeleton)viewports, rendertargetssmooth fading between screens2d effects - subtitles, ripple, fade using fade textureGUIcustom GUI, with support of - button, checkbox, combobox, context menu, desktop, amplitude bar, custom element, image, tabs, text, viewport, list, progress bar, region, slidebar, textline, window, window IO file/dir selectionInputkeyboard, mouse, joypadsdetecting key states, key pushes, key releases, key double clicks, and key combosmouse rectangle clipping, driver disabling, hardware pointerIOcustom file object class, with support of reading & writing - binary, text, xml files, from memory, file or file inside file wth data encryptiondetecting file / directory information, file / directory searching, file / directory creating / deleting, operating on all files inside directorydata packing to one big PAK file (keeps directories structure, automatically sorts files for faster accessing)drives detection (hdd, cd..)Mathematicsmath operations - minimum, maximum, average, abs, saturate, sign, trunc, round, ceil, floor, frac, align, sqr, cube, sqrt, cbrt, pow, ln, log2, sin, cos, sincos, tan, ctan, acos, asin, atan, angle, linear interpolation, hermite interpolation, power interpolation, equation solving of 0th, 1st, 2nd and 3rd degreevector (2d, 3d, 4d float & int) operations - add, subtract, multiply, divide, change sign, abs, minimum component, maximum component, minimum index, maximum index, normalize, length, length^2, set length, dot product, cross product, perpendicular, comparing, epsilon comparing, matrix transformingmatrix (3x3, 4x3, 4x4) operations - moving, scaling, rotating, multiplying, inversion, from quaternion512-bit precision integer / float operations - add, sub, mul, div, mod, sqr, sqrtcalculator function (calculates given strings for example "sin(2*x) + dot(vec(1,2,3),vec(4,5,6)) + 15*(1+2*pow(x,y))" to int, float or vectors)Meshvertexes (position, normal, tangent, binormal, tex0, tex1, matrix index, blend weights, size, duplicate index)edges (vertex index, adjacent face, normal, flag, id)triangles (vertex index, adjacent face, adjacent edge, normal, flag, id)quads (vertex index, adjacent face, adjacent edge, normal, flag, id)automatic uv mappingtransforming (moving, scaling, matrix transforming), reversing, mirroringcorrect normal, tangent, binormal calculationvertex welding, edge welding, edge subdividing, face subdividingjoining, spliting, duplicatinglinking vertex->vertex neighbour, vertex->edge, edge->face, rectangle->edgeconvert triangle to quads, quads to triangles, edges to polygonslogical operations on 2d / 3d meshes (or, and, xor, sub..) - BETAadd/remove vertex / edge / triangle / quadoptimize (remove inline vertexes, faces, vertex cache)binary/text custom format, importing 3ds, ase, obj, wrl, x, xml (igame/3dxi)Memoryzero, copy, is copy, list copy, set byte value, comparing, swapping, copy aligned data (8to32, 16to32, 24to32, 32to8, 32to16, 32to24), encrypting, decrypting, allocating, reallocatingmemory handlers working on any defined structure (list based, block based)cache for storing dynamic loaded data (meshes, materials, textures, animations, skeletons or any custom data) with name sort for faster access times, and ability to load files in local or global pathsorting custom structures with custom comparing functionMiscellaneousgame config file supportcpu detection (mmx, 3dnow, sse, sse2, sse3, number of cores)state managercustom randomizing unit creating random ints, floats, probability correct vector directions, points (on surface or inside) sphere, box, capsule, tube, edge, circle, rectangle.log file supportclipboard get / set text valuesdetecting system languagecustom string operations (case up, case down, add, length, compare, path compare, starts with, contains, contains words, replace, get extension, get not extension, get path, get base name, string<->int, string<->binary, string<->hex, string<->real, string<->vector)timer support - frame time, current time, frames per seconddate & time operations -  differences between 2 dates in seconds, seconds from 1 Jan 0 AD 00:00:00 (leap years support included)OS windows minimize, maximize, activate, move, get parent, get focuseddrag & drop support with custom provided functiondata de/compressionNetworkdownloading file from url addressPhysics (thanks to PhysX)rigid body collision detectionrag dollscharacter controllersactors - sphere, capsule, box, oriented box, convex, triangle based (static only)joints - fixed, hinge, sphere, prism, breakablescalculating actor position, matrix, velocity, angular velocity, energy, mass, dampingShadersflat, normal, parallax, relief bump mappingreflection / environment mapsdynamic light mapslight bloomingglowhdr + eye adaptationmotion blurper pixel lightingstencil shadows (soft & hard)shadow mapping (soft & hard)volumetric lightingsoft particlesfire, water, fur, fog, sky effectsgui effectsSound1d/3d, streamed wav / ogg, from file or memorycustom volume groups (sound fx, voice, music, ambient, global)music and ambient systems play random tracks from given theme (set of tracks), with crossfading supportThreadingprocess managementsimplified threadingseparate threads for game updating, physics calculating, rendering, sound processing   