• Register
Post feature RSS Feature List

Feature List for Esenthel Engine. Key features : simplicity speed stability visual effects physics constantly evolving tons of useful functions. Detailed features: ...

Posted by on

Key features
visual effects
constantly evolving
tons of useful functions

Detailed features
pathfinding (2d polygon based)

Animation System
multiple animation blending
highly compatible (one humanoid animation works on all humanoid skeletons)
creating animations in Mesh Editor tool
importing animations from external programs (3d Studio Max, Maya, XSI, Blender) through .x format

support of 4 cameras - Fpp, Tpp, Isometric, Custom
camera effects - quake, dizzyness
automatic frustum calculation for geometry culling

calculating surface area, volume, distance between, multiple transform operations (moving, rotating, scaling, transforming by matrix), basic collision detection, drawing of
point (2d/3d)
edge (2d/3d)
triangle (2d/3d)
quad (2d/3d)
oriented box

color rgb, hsb (hue, saturation, brightness), opacity, inverse, adding, lerping
gamma calibration
4:3, 5:4, 16:9, 16:10 or custom screen aspect support
shader model 2.0, 3.0 supported
vertex buffering for simple graphics drawing (images, gui elements, geometry objects, ...)
anisotropic filtering, mip-mapping, synchronization, windowed / fullscreen
screenshot taking
custom font creation
font drawing with shadows
textures supported L8, A8, A8L8, X8R8G8B8, A8R8G8B8, DXT3, DXT5, ...
texture lock, unlock, crop, blur, downsample, pixel set, get
bump to normal map conversion
importing bmp, png, jpg, tga, dds
point, directional, cone lights
occlusion query support
particle system (based on a single shape, or animated skeleton)
viewports, rendertargets (with support of high precision formats)
smooth fading between screens
2d effects - subtitles, ripple, fade using fade texture

custom GUI, with support of - button, checkbox, combobox, context menu, desktop, custom element, image, menu, tabs, text, viewport, list, progress bar, region, slidebar, slider, textline, window, window IO (file/dir selection)

keyboard, mouse, joypads
detecting key states, key pushes, key releases, key double clicks, and key combos
mouse rectangle clipping, driver disabling, hardware pointer

custom file object class, with support of reading & writing - binary, text, xml files, from memory, file or file inside file wth data encryption
detecting file / directory information, file / directory searching, file / directory creating / deleting, operating on all files inside directory
data packing to one big PAK file (keeps directories structure, automatically sorts files for faster accessing)
drives detection (hdd, cd..)

math 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 degree
vector (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 transforming
matrix (3x3, 4x3, 4x4) operations - moving, scaling, rotating, multiplying, inversion, from quaternion
512-bit precision integer / float operations - add, sub, mul, div, mod, sqr, sqrt
calculator 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)

vertexes (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 mapping
transforming (moving, scaling, matrix transforming), reversing, mirroring
correct normal, tangent, binormal calculation
vertex welding, edge welding, edge subdividing, face subdividing
joining, spliting, duplicating
linking vertex->vertex neighbour, vertex->edge, edge->face, rectangle->edge
convert triangle to quads, quads to triangles, edges to polygons
logical operations on 2d / 3d meshes (or, and, xor, sub..) - BETA
add/remove vertex / edge / triangle / quad
optimize (remove inline vertexes, faces, vertex cache)
binary / text custom format
importing 3ds, ase, obj, wrl, x, xml (igame/3dxi)

zero, copy, is copy, list copy, set byte value, comparing, swapping, copy aligned data (8to32, 16to32, 24to32, 32to8, 32to16, 32to24), encrypting, decrypting, allocating, reallocating
memory 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 path

game config file support
cpu detection (mmx, 3dnow, sse, sse2, sse3, number of cores)
state manager
custom randomizing unit creating random ints, floats, probability correct vector directions, points (on surface or inside) sphere, box, capsule, tube, edge, circle, rectangle.
log file support
clipboard get / set text values
detecting system language
custom 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 second
date & 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 focused
drag & drop support with custom provided function
data de/compression
sorting custom structures with custom comparing function

downloading file from url address

rigid body collision detection
rag dolls
character controllers
actors - sphere, capsule, box, oriented box, convex, triangle based (static only)
joints - fixed, hinge, sphere, prism, breakables
calculating actor position, matrix, velocity, angular velocity, energy, mass, damping
actor groups and user data
holding and dragging actors

flat, normal, parallax, relief bump mapping
reflection / environment maps
dynamic light maps
light blooming
hdr + eye adaptation
motion blur
depth of field
per pixel lighting
stencil shadows (soft & hard)
shadow mapping (soft & hard)
volumetric lighting
volumetric clouds
screen space ambient occlusion
early z
soft particles
grass, fire, water, fur, fog, sky effects
gui effects

1d/3d, streamed wav / ogg, from file or memory
custom volume groups (sound fx, voice, music, ambient, global)
music and ambient systems play random tracks from given theme (set of tracks), with crossfading support

process management
simplified threading
separate threads for game updating, physics calculating, rendering, sound processing


This comment is currently awaiting admin approval, join now to view.

Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.