• Viernes 8 de Noviembre de 2024, 17:51

Autor Tema:  Problemas con mi engine  (Leído 3384 veces)

pachesantiago

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Problemas con mi engine
« en: Viernes 9 de Abril de 2010, 02:23 »
0
miren,soy nuevo en el foro,estoy programando algo que se podria considerar como un engine,mas bien es un wraper de dx.
El "engine" se compila en un .lib,y despues tengo un exe con el que pruebo las funciones.
Programe unas ciertas funciones que a mi entender estan bien,pero cuando las pruebo no funcionan,por ejemplo,la funcion del triangulo o la de la esfera compilan pero no mustran nada en la pantalla,la unica que funciono fue la de texto.
Y otra cosa,despues de un cierto tiempo,crashea.
Explico mejor.El consumo de memoria arranca en 20%,que es lo normal en 7,y empieza a subir.
Cuando llega a 65 % el programa crashea,alguna idea?

PD:Adjunte el codigo.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

pachesantiago

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Problemas con mi engine
« Respuesta #1 en: Domingo 11 de Abril de 2010, 02:41 »
0
corregi los errores de que colapsaba,solo falta corregir el de que no aparezcan las cosas,alguna idea??
PD:el codigo de la descarga tiene errores

pachesantiago

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Problemas con mi engine
« Respuesta #2 en: Lunes 12 de Abril de 2010, 19:01 »
0
ninguna idea de nadie?? :huh:  :huh:  :huh:  :huh:

pachesantiago

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Problemas con mi engine
« Respuesta #3 en: Martes 13 de Abril de 2010, 22:57 »
0
EDIT: Disculpen,fue una estupides lo que escribi :ouch:  :ouch:  :ouch:
« última modificación: Lunes 7 de Junio de 2010, 02:03 por pachesantiago »

satmon

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Problemas con mi engine
« Respuesta #4 en: Viernes 4 de Junio de 2010, 20:16 »
0
lo que pasa es que la mayoria de la gente programa es con opengl y no muchos conocen a profundidad a directx pero yo se mas o menos algo y el hecho de que no se visualize tu escena puede deberce a que no inicializaste el valor PresentationInterval ni FullScreen_RefreshRateInHz de la estructura D3DPRESENT_PARAMETERS en la funcion
Código: C++
  1. void Device9::InitD3D( HWND hWnd,DevParam Parametros )
  2.  
 es posible que sea por esso, prueva con esto:

d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;

si eso no funciona entonces checkea bien tu codigo recuerda que directx9 es diferente a directx8 y prueva desactivando el alpha blending, ponido un color de fondo claro para ver si el defecto es la iluminacion, tanbien checkea que llenas te todas las matrices: WORLD, VIEW y PROJECTION, si el problema persiste asegurate que no cometiste algun error estupido en los algoritmos que es muy comun

pachesantiago

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Problemas con mi engine
« Respuesta #5 en: Lunes 7 de Junio de 2010, 02:06 »
0
gracias por la respuesta,esos valores no los cambie.
cuand pueda lo pruebo. El engine avanzó pila,tiene un modulo completo, el de log, y empeze el de sonido (Imersive Sound System o ISS)

pachesantiago

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Problemas con mi engine
« Respuesta #6 en: Domingo 13 de Junio de 2010, 14:23 »
0
probe eso pero no resulto, mi codigo de inicio quedo asi:
Código: C++
  1. //-----------------------------------------------------------------------------
  2. // Name: InitD3D()
  3. // Desc: Initializes Direct3D
  4. //-----------------------------------------------------------------------------
  5. void Device9::InitD3D( HWND hWnd,DevParam Parametros )
  6. {
  7.        
  8.     // Create the D3D object, which is needed to create the D3DDevice.
  9.     if( NULL == ( g_pD3D = Direct3DCreate9( D3D_SDK_VERSION ) ) )
  10.     {      
  11.         ::MessageBox(hWnd,L"Error creando el objeto 3D/Error creating 3D object",L"Error Critico/Critical Error",MB_OK | MB_ICONERROR);
  12.         return;
  13.     }
  14.     // Set up the structure used to create the D3DDevice
  15.     D3DPRESENT_PARAMETERS d3dpp;
  16.     ZeroMemory( &d3dpp, sizeof( d3dpp ) );
  17.  
  18.     d3dpp.Windowed = Parametros.Windowed;
  19.     d3dpp.SwapEffect = Parametros.SwapEfect;
  20.     d3dpp.BackBufferHeight = X3D.resX;
  21.     d3dpp.BackBufferWidth = X3D.resY;
  22.     d3dpp.BackBufferCount = 1;
  23.     d3dpp.Flags = NULL;
  24.     d3dpp.EnableAutoDepthStencil = true;
  25.     d3dpp.AutoDepthStencilFormat = D3DFMT_D24S8;
  26.     d3dpp.BackBufferFormat = Parametros.BackBuferFormat;
  27.     d3dpp.MultiSampleType = Parametros.MultisampleType;
  28.     d3dpp.MultiSampleQuality = Parametros.MultiSampleQuality;
  29.     d3dpp.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
  30.     d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
  31.  
  32.     // Create the Direct3D device
  33.     if (Parametros.RenderType == Error)
  34.     {
  35.         ::MessageBox(hWnd,TEXT("Imposible crear el dispocitivo/Can´t create device"),TEXT("Error Critico/Critical Error"),MB_OK | MB_ICONERROR);
  36.         ZeroMemory( &d3dpp, sizeof( d3dpp ) );
  37.         g_pD3D = NULL;
  38.         Device = NULL;
  39.         return;
  40.     }
  41.     if (Parametros.RenderType == Hardware)
  42.     {
  43.         if( FAILED( g_pD3D->CreateDevice( Parametros.Adapter,Parametros.RasterizationType, hWnd,
  44.                                       D3DCREATE_HARDWARE_VERTEXPROCESSING,
  45.                                       &d3dpp, &Device ) ) )
  46.             {
  47.                 ::MessageBox(NULL,TEXT("Error creando el Dispocitivo por Hardware/Error creating the Hardware Device"),TEXT("Error Critico/Critical Error"),MB_OK | MB_ICONERROR);
  48.             }
  49.     }
  50.     if (Parametros.RenderType == Software)
  51.     {
  52.         if( FAILED( g_pD3D->CreateDevice( Parametros.Adapter,Parametros.RasterizationType, hWnd,
  53.                                       D3DCREATE_SOFTWARE_VERTEXPROCESSING,
  54.                                       &d3dpp, &Device ) ) )
  55.             {
  56.                 ::MessageBox(NULL,TEXT("Error creando el Dispocitivo por Software/Error creating the Software Device"),TEXT("Error Critico/Critical Error"),MB_OK | MB_ICONERROR);
  57.                 return;
  58.             }
  59.     }
  60.  
  61.     if (Parametros.RenderType == Mixed)
  62.     {
  63.         if( FAILED( g_pD3D->CreateDevice( Parametros.Adapter,Parametros.RasterizationType, hWnd,
  64.                                       D3DCREATE_MIXED_VERTEXPROCESSING,
  65.                                       &d3dpp, &Device ) ) )
  66.             {
  67.                 ::MessageBox(NULL,TEXT("Error creando el Dispocitivo por Mescla/Error creating the Mixed Device"),TEXT("Error Critico/Critical Error"),MB_OK | MB_ICONERROR);
  68.                 return;
  69.             }
  70.     }
  71.  
  72.     return;
  73. }
  74.  
  75.