Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





ESENTHEL Engine. ¿Lo conocian?

Iniciado por kaito, 12 de Enero de 2009, 01:38:32 PM

« anterior - próximo »

kaito

Saludos Foro.

Buscando modelos3d gratuitos he encontrando este engine del que no había escuchado hablar en ningún foro, pero creo que tiene muchas posibilidades y futuro.


ESENTHEL Engine es GRATUITO para su uso NO comercial.


Página oficial: http://www.esenthel.com/en/engine/screens.html

Más imágenes:
http://es.youtube.com/watch?v=pwGkvEctT4Q&feature=channel_page
http://es.youtube.com/watch?v=fMzXYALnpsQ&feature=channel_page
http://es.youtube.com/watch?v=R99EUSYdSVM&feature=channel_page
http://es.youtube.com/watch?v=ODubyrnhAb8&feature=channel_page
http://es.youtube.com/user/drean37
http://es.youtube.com/watch?v=ZXpDjwWCu4Y&feature=channel_page
http://www.moddb.com/engines/esenthel-engine/images/esenthel-engine2
http://www.devmaster.net/forums/showthread.php?p=64112#post64112


Sitio de descarga de la SDK del engine: http://www.esenthel.com/en/engine/download.html



Juegos creados con el engine:

Esenthel Game: http://www.esenthel.com/en/game/download.html

Cyber FX: http://es.youtube.com/watch?v=DjzwOMUfX90&eurl=http://grabonstudio.tnb.pl/news.php

Forest Valley: http://es.youtube.com/watch?v=o7UqS6fRg7M&eurl=http://www.pbgame.dbv.pl/news.php?readmore=19



HERRAMIENTAS: World Editor, Gui Editor, Mesh Editor, calculator, converter, Functions, Icons, Image Viewer, Mouse Extend, Pak Viewer, Synchronizer.

TEXTURAS: Each texture is required to be in GFX format, however importing of BMP PNG JPG TGA DDS formats is allowed.

Tipos de 'Mesh' que soporta:

3DS - 3D Studio (mesh, no custom normals)
ASE - Ascii Scene Export (mesh)
OBJ - Wavefront OBJ (mesh)
WRL - VRML97 (mesh)
X - DirectX (mesh + skin + animation)
XML - Ogre Xml (mesh + skin + animation)

SONIDO:

WAV - wave - no compression
OGG - ogg vorbis - lossy compression

VIDEO:

THEORA - ogg, ogm, ogv



Después de instalarlo he probado "algunos" ejemplos, todavía no he podido probarlos todos, que vienen en archivos de código fuente del c++ (.cpp). Estos son:


BASICOS:

Start.cpp, Drawing.cpp, Input.cpp, Image.cpp, Cache.cpp, Gui.cpp, 3D.cpp, Mesh.cpp


AVANZADOS:

*GEOMETRIA: Camera.cpp, Matrix.cpp

*GRAFICOS: 2D Effects.cpp, Color Transformations.cpp, Colors HSB.cpp, Dynamic Image.cpp, Font Make.cpp, Import Image.cpp, VI-Vertex Index Buffer.cpp

*GUI: Bars.cpp, Buttons.cpp, Tabs.cpp, Window Menu.cpp, List.cpp, ComboBox.cpp, Game Menu.cpp, Loading Gui Objects.cpp, Extending Gui Objects.cpp, Multiple Viewports.cpp

*MISC: Calculator.cpp, Config.cpp, Cpu.cpp, Cursor.cpp, Drag&Drop.cpp, File.cpp, FileFind.cpp, FileText.cpp, IO Path.cpp, Memory.cpp, Number.cpp, Pak.cpp, Pak Create.cpp, Pathfind.cpp, Random.cpp, Sort.cpp, States.cpp, Sort.cpp, States.cpp, Threads.cpp, Threads2.cpp, Video Playback.cpp, Zip.cpp

*SONIDO: Music.cpp, Sound.cpp, Sound 3D.cpp, Volume Groups.cpp

*NET: Downdload.cpp, Socket.cpp

*ANIMACION: Animation.cpp, Skeleton Points.cpp, Blending.cpp, Manual Editing.cpp

*PHYSICS: Physics.cpp, Multi shaped actor.cpp, Joints.cpp, Joints 2.cpp, Controllers.cpp, Testing.cpp, Detecting objects under cursor.cpp, Grabbing.cpp, Physical meshes.cpp, Ragdoll.cpp, Vehicle.cpp, Cloth.cpp

*RENDERING: Rendering.cpp, Sky.cpp, Fog.cpp, Bumpmapping.cpp, Viewport.cpp, Motion Blur.cpp, Materials.cpp, Shadows.cpp, Volumetric Lights.cpp, Ambient Occlusion.cpp, Early Z.cpp, Bloom.cpp, Depth of Field.cpp, Particles.cpp, Blood.cpp, Explosion.cpp, Layered Clouds.cpp, Volumetric Clouds.cpp, Water.cpp, Markers.cpp, Mesh Outline.cpp, Laser and Electricity.cpp, Multi-Threaded Rendering.cpp

*MESH: Grass.cpp, Grass 2.cpp, Separate parts rendering.cpp, Terrain.cpp, Tree.cpp

*DEMOS: Auto Depth of Field.cpp, Day Night Cycle.cpp, Facial Animation.cpp, Lights.cpp, Nature.cpp

*GAME BASICS: Character.cpp, World.cpp, World with Character.cpp, Lights.cpp, Saving and Loading.cpp, Pathfind.cpp, Doors.cpp, Custom Parameters.cpp, Extending Game Object Class.cpp, Dynamically Created Objects.cpp, Waypoints.cpp, Character Animations.cpp, Character Default Animations.cpp, Character Facial Animations.cpp, Character Ragdoll.cpp, Camera Modes.cpp, Camera Collisions.cpp, Object References.cpp, Big Overlays.cpp

*SIMPLE PROJECT (Simula el proceso de un juego convencional, pero no contiene ningún juego. Para que funcione tienes que agregar todos los archivos .cpp y .h de la carpeta): Intro.cpp, Menu.cpp, Main.cpp, Game.cpp


---------------------------------------



REQUISITOS INSTALACION:

Microsoft Visual C++ 2008 (ejecutarlo al menos una vez después de instalarlo):
http://www.microsoft.com/express/download/

DirectX SDK Nov08:
http://www.microsoft.com/downloads/details.aspx?FamilyId=5493F76A-6D37-478D-BA17-28B1CCA4865A&displaylang=en

PhysX System Software:
http://developer.nvidia.com/object/physx_downloads.html#System

Después de haber instalado el software anterior, extraemos la carpeta 'EsenthelEngineSDK' que se encuentra en el archivo .rar del engine que hemos descargado de aquí: http://www.esenthel.com/en/engine/download.html . Si utilizas windows Vista, mejor extraerlo fuera de la carpeta 'Archivos de Programa'.

Una vez hecho esto, ejecutamos VC++ 2008 y vamos al menú 'Herramientas-->Opciones'. Desde la ventana 'Opciones' seleccionamos 'Proyectos y soluciones' en la lista que aparece a la izquierda. Se abrirá mostrando nuevas opciones donde seleccionamos 'Directorios de VC++'.

Ahora, en la esquina superior derecha aparece la casilla 'Mostrar directorios para:' y la cambiamos, pinchando sobre ella, seleccionando 'Archivos de Inclusion'. Debajo de esta casilla se muestra una lista de rutas que comienzan por el signo $. Haz doble click debajo del último elemento de esa lista (utiliza la barra de desplazamiento si es necesario para ver el último elemento de la lista).

A continuación, mostrará un botón con 3 puntos seguidos '...'. Pincha sobre él y busca la carpeta 'Installation' que se encuentra dentro de la carpeta del engine que hemos instalado (es decir, dentro de la carpeta 'EsenthelEngineSDK'). Pulsa el botón 'Seleccionar Carpeta' para aceptar.

Seguimos, y cambiamos 'Mostrar directorios para:' a 'Archivos de biblioteca'. Volvemos a repetir los pasos anteriores para agregar otra vez la carpeta 'Installation' que se encuentra dentro de la carpeta del engine (otra vez, dentro de la carpeta 'EsenthelEngineSDK').

Pulsamos el botón Aceptar para cerrar la ventana Opciones.

Dentro de la carpeta del engine, para ejecutar los ejemplos vamos a la carpeta 'Tutorials'. Allí se encuentra la solución 'Tutorials.sln', pero sólo contiene el archivo 'Start.cpp' (dentro de la carpeta 'Source' de la solución). Pulsa F5. Si aparece el mensaje 'Este proyecto no está actualizado: ¿Desea Generarla?'. Pulsamos 'Sí'. Luego pulsa la telca 'Escape' para finalizar la demostración.


Para ir probando cada uno de los archivos .cpp, haz lo siguiente. Pincha con el botón derecho del ratón sobre el archivo .cpp (lista a la izquierda de la ventana), en este caso Start.cpp, y seleccionas 'Excluir del Proyecto'. Con esto lo habremos eliminado del proyecto.

Ahora para seleccionar un nuevo .cpp, ejecutamos la orden del menú 'Proyecto-->Agregar Elemento Existente' y abrimos un archivo .cpp que se encuentra en la carpte 'Source'. Para ejecutarlo vuelve a pulsar F5.

Tienes que ir probándolos 1 a 1, de otro modo te daría errores de compilación. Dentro de la carpeta 'Source' existe la carpeta 'Advanced' donde se encuentran el resto de ejemplos.


------------------------------------------



Ejemplo de Código. (Drawing.cpp)
================================

/***************************************************/
#include "stdafx.h"
/***************************************************/

   Here are presented the most basic drawing functions

/***************************************************/
void InitPre()
{
   App.name="Drawing";
   App.flag=APP_NO_FX;
   PakAdd("../data/engine.pak");
}
/****************************************************/
Bool Init()
{
   return true;
}
/******************************************************/
void Shut()
{
}
/******************************************************/
Bool Main()
{
   if(Kb.bp(KB_ESC))return false;
   return true;
}
/******************************************************/
void Draw()
{
   D.clear(WHITE); // clear to white

   // draw texts
   {   
      D.text(0,0,"Default text settings"); // default text draw

      TextDS tds; // text draw settings, contains information about font size, aligning, color, ..

      tds.color=BLACK; // set black color
      tds.scale*=1.4f; // change scale
      D.text(tds,0,-0.2,"Bigger");
     
      tds.scale/=1.4f;    // reset scale
      tds.align.set(1,0); // change aligning
      D.text(tds,0,-0.4,"Right Aligned");

      tds.color=GREEN;     // change color to green
      tds.align.set(-1,0); // change aligning
      D.text(tds,0,-0.6,"Colored Left Aligned");

      tds.align.set(0,0);              // reset aligning
      tds.color=ColorHue(Tm.time()/2); // assign color to Color Hue according to current time
      D.text(tds,0,-0.8,"Multi colored");
   }

   // draw shapes
   {
      D.rect  (BLUE  , 0.5,0.5, 0.6,0.6);  // draw blue rectangle at given coordinates
      D.circle(RED   , 0.1, -0.5,0.5);     // draw red circle with 0.1 radius at (-0.5,0.5) position
      D.dot   (BLACK , 0,0.5);             // draw black dot at (0,0.5) position
      D.line  (GREEN , -0.4,0.5, 0.4,0.6); // draw green line
      D.tri   (YELLOW,Vec2(-0.5,-0.4),Vec2(-0.4,-0.2),Vec2(-0.4,-0.4)); // draw yellow triangle from given points
   }
}
/******************************************************/

zunou

Pues yo no lo conocia,   8o es alucinante tiene mucha potencia.

gracias por el enlace

kaito

Estos archivos contienen los archivos binarios (o ejecutables) de los más de 100 ejemplos o tutoriales incluidos en la SDK del engine, sin la necesidad de tener instalado Visual C++ ni tampoco DirectX SDK



REQUISITOS:

-Solo instalar ESENTHEL Engine.
-Shader 2.0 o superior.

INSTRUCCIONES: http://perso.orange.es/tomas_cg75/Instrucciones.pdf



ARCHIVOS:

Animation: http://www.mediafire.com/?qh2mmojjumm

Basics: http://www.mediafire.com/?mmarmrnqjzo

Demos: http://www.mediafire.com/?0gyzymmdtmo

Game Basics: http://www.mediafire.com/?heycmtmtztk

Geometry: http://www.mediafire.com/?zinanazmwzr

Graphics: http://www.mediafire.com/?hztjgm2jklj

Gui: http://www.mediafire.com/?wizymnqmymw

Mesh: http://www.mediafire.com/?no01wmozew2

Misc: http://www.mediafire.com/?2nmjiz2nmvi

Physics: http://www.mediafire.com/?wjzltje4z5m

Rendering: http://www.mediafire.com/?wd0wtniywmu

Sound: http://www.mediafire.com/?2mudme3onki




El engine no dispone de una documentación que recoja y agrupe todas las funciones con sus descripciones (como sí que ocurre en Dark GDK), y la información disponible se encuentra básicamente en los códigos y comentarios incluidos en los archivos .cpp que puedes abrir con el bloc de notas (en caso de no tener instalado Visual C++), o buscando en este enlace: http://perso.orange.es/tomas_cg75/EsenthelCode.html (Todos los tutoriales .CPP en un archivo .TXT)

De todos modos, sí sólo quereis saber lo que es: Bumpmapping, Blending, Volumetric Clouds, Bloom, Motion Blur, Pathfinding, ... ya podeis hacerlo con sólo descargar el engine (28,7 MB)

Saludos.

zunou

 :) He estado trasteando con el, y bueno parece que te permite hacer muchas cosas con muy poco código, pero se hace un poco complejo aprender su sintaxis, dada la poca documentacion, las anotaciones que hay en los ejemplos son muy poco claras, es decir te dice lo que hace cierta funcion, pero no comenta sus partes, por ejemplo te pone  cosas como esta :

mshb.create(Ball(1,0.3),VTX_NRM); // create Mshb from torus, and automatically create vertex normals in order to lit the mshb properly

otra cosa es que la manera en la que está estructurado te quita mucha livertad.

Por otra parte los resultados que se pueden conseguir si aprenedes ha manejarlo bien, son increibles, y la manera de integrar las fisicas con PhysX es muy fácil, tambien tiene un editor de níveles que es muy fácil de manejar......... en fin que es uno de los mejores motores grátuitos que he visto, pero a mí por lo menos me resulta dificil de manejar, no por que sea complejo, sino porque no esta bien documentado.

kaito

#4
Estoy totalmente de acuerdo contigo. Hasta ahora sólo he cambiado el nombre de algún archivo gráfico o modelo 3D en los códigos que vienen de ejemplo. Quiero hacer primero un esquema donde agrupar las funciones por su función (texto, gráfico2d, gráfico3d, gui, física, ... ) antes de hacer nada nuevo con él.

La documentación es escasa, así es.  Mandé el mensaje al foro  "Who uses API documentation?" pidiendo ayuda para que me explicaran como utilizar la API Reference para buscar una función (que es lo único que aparece en el directorio 'Documentation'), y me contestó que tenía que buscar en los tutoriales .cpp.  y poco más. Supongo que en próximas versiones acompañará la SDK con una buena documentación y no con una API.

Saludos.

zunou

sip, esperemos que mejore la documentacion, para poder utilizar bien esta maravilla de motor ^_^






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.