Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - IFMaster

#1
General Programadores / Overlays en Ogre
08 de Septiembre de 2007, 10:07:27 AM
Hola de nuevo, estoy intentando usar las Overlays de Ogre (me leido la documentación al respecto y para mostrar solo planos con alpha que es lo que quiero tengo suficiente), e definido el .overlay y .material y sin embargo no consigo mostrar un quad (Panel) en pantalla, asi es como lo tengo:

.overlay:

BlackEngine/GUIinGame
{
  zorder 500
   
  container Panel(HagenID)
  {
     metrics_mode pixels
     left 0
       top 0
       width 200
       height 200


       material GUI_Hagen
  }
}


.material:

material GUI_Hagen
{
  technique
  {
     pass
     {
        lighting off
        scene_blend alpha_blend
        depth_check off

        texture_unit
        {
           texture basic_droplet.png
        }
     }
  }
}


Y en mi codigo:

Hagen = OverlayManager::getSingleton().getOverlayElement("HagenID");
Hagen->show();


Estoy usando un .png que viene con Ogre como ejemplo, pues al principio le puse un .tga con el alpha definido en el canal alpha pero no sabia si me lo cogeria asi que use ese para probar.

Si alguien a tratado con esto, le agradeceria muchisimo que me pudiera echar una mano, pues no entendo porque no me pinta el quad.

Muchas gracias de antemano.
#2
General Programadores / Problemas usando Ogre con CEGUI
07 de Septiembre de 2007, 11:46:31 PM
El OgreGUIRenderer, por lo menos el .h y .cpp ya no viene con el sdk, solo viene en la carpeta de samples, de todos modos e desubierto que usando las overlays de Ogre me sobra y me basta para lo que necesito.

De todos modos muchas gracias por tu aportación.

Un saludo.
#3
General Programadores / Problemas usando Ogre con CEGUI
06 de Septiembre de 2007, 11:44:06 PM
Buenas a todos, estoy realizando un proyecto usando Ogre.
E actyualizado mi proyecto a la ultima version de Ogre (1.4.4 Eihort), y al parecer han cambiado el sistema en como Ogre usaba la libreria CEGUI.
Lo unico que necesito es inicializarla y poder pintar quads con o sin alpha para hacer los marcadores.
Alguien me puede echar una mano con esto por favor? pues e estado buscando por la red pero no encuentro nada referente a CEGUI con la nueva version de Ogre (ahun asi creo que los cambios son efectivos para cualquier versión de la rama Eihort, y los tutoriales que hay son los pertenecientes a la rama Dragon).

Muchas gracias de antemano
#4
General Programadores / Colision con Ogre
23 de Agosto de 2007, 10:41:43 PM
Hola de nuevo, tengo serios problemas para usar el OgreOpcode, pues hay por ahi una supuesta clase (WindowEventListener) la cual e buscado por todos lados y no hay ni rastro de ella.

Si alguien a usado esta libreria, o a usado alguna otra cosa para realizar las colisiones en una aplicación Ogre le agradeceria muchisimo que me facilitara algun enlace con tutoriales o demos.

Muchas gracias de antemano.
#5
General Programadores / Colision con Ogre
19 de Agosto de 2007, 11:12:32 PM
Pues la verdad que no tengo tanto tiempo como para implementarme mi subsistema de colisiones, pues es para un proyecto que me gustaria presentar a Art Futura, en los foros de Ogre me han dicho que use OgreOpcode, voy a ver que tal funciona :p

Gracias de todos modos por vuestras aportaciones.
#6
General Programadores / Colision con Ogre
19 de Agosto de 2007, 09:40:17 PM
Buenas a todos, necesito una libreria / plug-in para Ogre que me permita detectar collision de mallas, rallos, etc...
E intentado crearme un exportador / importador de mallas para usar Coldet (que havia usado ya antes con aplicaciones DirectX), pero supongo que debo de estar haciendo algo mal al exportar las mallas o importarlas, porque nunca me detecta la colision T_T

He estado mirando un poco que librerias existen y no e encontrado ninguna que sea solo de colision, todas incluyen fisica (y yo de eso ni idea :S), lo que me gustaria es encontrar algo simple, del tipo k le pase dos Entitys de Ogre y me diga si colisionan o no, con que triangulos, etc...

Alguien sabe si existe algo asi? o si hay alguna libreria de fisicas en la que pueda desactivar la fisica y solo usar la colision, y tenga tutoriales y tal?

Muchas gracias por adelantado.
#7
ArtFutura / plazo presentación trabajos videojuegos
15 de Agosto de 2007, 12:42:22 AM
Hola, yo e participado dos veces. Y si tu proyecto es finalista (seguramente te enteraras cuando quede una o dos semanas para el art futura (gracias señores de Art Futura ^^)) "supuestamente" dispondras de un mes para mejorar lo que entregaste, ya que creo que el ultimo dia para entregarlo es el miercoles o jueves (antes del domingo de art futura, que es cuando se hace la entrega de premios de videojuegos).
Digo supuestamente, porque eso es lo que dicen ellos, pero en los dos proyectos que yo e entregado, e entregado luego una version mejorada y no se a tenido en cuenta en ninguna de las dos ediciones.

Un saludo y de nuevo gracias a Art Futura, por su.... (mejor me callo).
#8
Muchas gracias por vuestra ayuda, yo tambien creo que se pueda indicar textura enmes de color en el shader, pero no tengo ni idea de como hacerlo, aki pongo el codigo por si hay alguien que haya tratado con estas cosas :P:

En c++:

//Creamos la malla y le aplicamos valores RGBA para el shader de Cell-shading

ogreHead = mSceneMgr->createEntity("Head", "Hagen.mesh");

// Set common material, but define custom parameters to change colours
// See Example-Advanced.material for how these are finally bound to GPU parameters
SubEntity *sub;
//eyes
sub = ogreHead->getSubEntity(0);
sub->setMaterialName("Examples/CelShading");

sub->setCustomParameter(1, Vector4(35.0f, 0.0f, 0.0f, 0.0f));
sub->setCustomParameter(2, Vector4(1.0f, 0.3f, 0.3f, 1.0f));
sub->setCustomParameter(3, Vector4(1.0f, 0.6f, 0.6f, 1.0f));

//1 -> shininess | 2 -> diffuse | 3 -> specular

El .material: (supongo k esta parte le indica k shader debe de cargar (example_celshading.cg) y macros de parametros
// -------------------------------
// Cel Shading Section
// -------------------------------
vertex_program Ogre/CelShadingVP cg
{
   source Example_CelShading.cg
   entry_point main_vp
   profiles vs_1_1 arbvp1

   default_params
   {
      param_named_auto lightPosition light_position_object_space 0
      param_named_auto eyePosition camera_position_object_space
      param_named_auto worldViewProj worldviewproj_matrix
      param_named shininess float 10
   }
}

fragment_program Ogre/CelShadingFP cg
{
   source Example_CelShading.cg
   entry_point main_fp
   profiles ps_1_1 arbfp1 fp20
}


material Examples/CelShading
{
   technique
   {
      pass
      {
         vertex_program_ref Ogre/CelShadingVP
         {
            // map shininess from custom renderable param 1
            param_named_auto shininess custom 1
         }
         fragment_program_ref Ogre/CelShadingFP
         {
            // map diffuse from custom renderable param 2
            param_named_auto diffuse custom 2
            // map specular from custom renderable param 2
            param_named_auto specular custom 3
         }
         texture_unit
         {
            texture cel_shading_diffuse.png 1d
            tex_address_mode clamp
            filtering none
         }
         texture_unit
         {
            texture cel_shading_specular.png 1d
            tex_address_mode clamp
            filtering none
            tex_coord_set 1
         }
         texture_unit
         {
            texture cel_shading_edge.png 1d
            tex_address_mode clamp
            filtering none
            tex_coord_set 2
         }
      }
   }
   
}

El .cg (y supongo la parte k hay k modificar):
/* Cel shading vertex program for single-pass rendering
  In this program, we want to calculate the diffuse and specular
  ramp components, and the edge factor (for doing simple outlining)
  For the outlining to look good, we need a pretty well curved model.
*/
void main_vp(float4 position   : POSITION,
          float3 normal      : NORMAL,
          // outputs
          out float4 oPosition : POSITION,
          out float  diffuse       : TEXCOORD0,
          out float  specular    : TEXCOORD1,
          out float  edge       : TEXCOORD2,
          // parameters
          uniform float3 lightPosition, // object space
          uniform float3 eyePosition,   // object space
          uniform float4  shininess,
          uniform float4x4 worldViewProj)
{
   // calculate output position
   oPosition = mul(worldViewProj, position);

   // calculate light vector
   float3 N = normalize(normal);
   float3 L = normalize(lightPosition - position.xyz);
   
   // Calculate diffuse component
   diffuse = max(dot(N, L) , 0);

   // Calculate specular component
   float3 E = normalize(eyePosition - position.xyz);
   float3 H = normalize(L + E);
   specular = pow(max(dot(N, H), 0), shininess);
   // Mask off specular if diffuse is 0
   if (diffuse == 0) specular = 0;

   // Edge detection, dot eye and normal vectors
   edge = max(dot(N, E), 0);
}

void main_fp(float diffuseIn    : TEXCOORD0,
          float specularIn   : TEXCOORD1,
          float edge      : TEXCOORD2,
         
          out float4 colour   : COLOR,
         
          uniform float4 diffuse,
          uniform float4 specular,
         
          uniform sampler1D diffuseRamp,
          uniform sampler1D specularRamp,
          uniform sampler1D edgeRamp)
{
   // Step functions from textures
   diffuseIn = tex1D(diffuseRamp, diffuseIn).x;
   specularIn = tex1D(specularRamp, specularIn).x;
   edge = tex1D(edgeRamp, edge).x;

   colour = edge * ((diffuse * diffuseIn) +
               (specular * specularIn));
}

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

En el .material tambien se le indican las texturas de 1D k debe coger para hacerle las sombras.

Bueno pues creo que no me dejo nada, nuevamente gracias por adelantado.
#9
Hola a todos, tengo un problema usando Ogre y Cell-Shading, tengo un pequeño proyecto con Ogre implementado y viendo la demo del Cell-shading que se encuentra en la paguina de Ogre, me encuentro que de ese modo solo se pueden pintar mallas con colores planos, es decir, no se les puede aplicar una textura (o por lo menos yo no se como :S).

Me gustaria poder pintar mallas con textura y que Ogre les de la iluminación de cell-shading y me pinte las lineas de contorneado de malla.

Si alguien sabe si eso es posible hacerlo modificando el shader que tiene Ogre o hay alguna otra forma, pues lo agradeceria mucho.

Un saludo y gracias de antemano.
#10
General Programadores / Dudas con Ogre ><
13 de Mayo de 2007, 10:59:24 PM
Pues creo que si es eso, y lo peor es que este tutorial es de los primeros que vi, y pensaba que era el de configurar Visual Studio con Ogre T_T

Muchas gracias Rentero.

Un saludo a todos.
#11
General Programadores / traductor xml
13 de Mayo de 2007, 10:10:22 PM
Hola, yo uso expat (http://expat.sourceforge.net/), es muy sencillo de usar, ahunque lo uso en C++, no se si tiene alguna verion para VB :S
De todos modos buscando en sourceforge seguro encuentras alguno.
#12
General Programadores / Dudas con Ogre ><
13 de Mayo de 2007, 10:06:18 PM
Hola a todos, soy nuevo por aqui, asi que me presentare un poco :P
Soy programador de videojuegos en C++, siempre e usado Direct X y tengo un par de proyectos por ahi.
Estuve echandole un vistazo a Ogre, pues me parece increible lo facil y "potente" que resulta el motor, e estado leiendo tutoriales de la web de Ogre y mas documentos x ahi, ya consegui exportar mallas y bueno entender bastante como funciona el motor.
Pero mi gran duda y por mas que busco en google, wikis y demases no consigo encontrar ><
Me gustaria linkar Ogre al engine que estoy realizando, pero no quiero que me aparezca la ventana inicial de "ExampleApplication" que usan en todos los tutoriales y demases, sino configurar Ogre a traves del archivo .cfg (ogre.cfg creo que era) diciendole la api grafica que quiero, resulocion de pantalla, etc... x ahi.
Alguien me puede linkar algun tutorial, o codigo de ejemplo, lo agradeceria muchisimo, pues el poco tiempo que tengo para dedicarle me lo paso buscando en vano por la red T_T
Un saludo a todos y gracias de antemano.





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.