Programmierer Hilfe gesucht für größeres Project



  • Hier kann man sehen wie ein OpenGL spiel auf dem BA (ohne OpenGL Treiber) läuft
    http://www.youtube.com/watch?v=HO9c4qcSfvY

    Deswegen kann ich mir nicht vorstellen das es nicht geht!!!

    EDIT: Hab jetzt sogar den Source Code vom PocketQuake aber ich kann damit nichts anfangen 😞


  • Administrator

    Und was genau willst du jetzt? Dass dies jemand für dich implementiert? In dem Fall müsstest du deine Preisvorstellungen nennen und ins Projekte Forum umziehen, da dies wohl sicher niemand für dich gratis implementieren wird.

    Falls du es selber machen willst und Hilfe suchst, musst du mit deinen Fragen spezifischer werden 😉

    Grüssli



  • Dravere schrieb:

    Und was genau willst du jetzt? Dass dies jemand für dich implementiert? In dem Fall müsstest du deine Preisvorstellungen nennen und ins Projekte Forum umziehen, da dies wohl sicher niemand für dich gratis implementieren wird.

    Falls du es selber machen willst und Hilfe suchst, musst du mit deinen Fragen spezifischer werden 😉

    Grüssli

    Geld kann ich leider nicht anbieten nur den ruhm für den erfolg 😉

    Nagut dann muss ich es wohl selbst versuchen!

    Ich werd mir mal die GL api's rausschreiben und mir dann den opensource treiber ansehen 🙄 und bei fragen mich melden...

    Trotzdem danke!



  • Hallo nachdem ich mir die Api's und den openSource Software Treiber angesehen und hab kein plan wie ich anfangen soll 😮

    Ich hätte also mal die Frage wie geht man da am besten vor, hier die liste der API's

    eglBindTexImage
    eglChooseConfig
    eglCopyBuffers
    eglCreateContext
    eglCreatePbufferSurface
    eglCreatePixmapSurface
    eglCreateWindowSurface
    eglDestroyContext
    eglDestroySurface
    eglGetConfigAttrib
    eglGetConfigs
    eglGetCurrentContext
    eglGetCurrentDisplay
    eglGetCurrentSurface
    eglGetDisplay
    eglGetError
    eglGetProcAddress
    eglInitialize
    eglMakeCurrent
    eglQueryContext
    eglQueryString
    eglQuerySurface
    eglReleaseTexImage
    eglSurfaceAttrib
    eglSwapBuffers
    eglSwapInterval
    eglTerminate
    eglWaitGL
    eglWaitNative
    glActiveTexture
    glAlphaFunc
    glAlphaFuncx
    glBindBuffer
    glBindTexture
    glBlendFunc
    glBufferData
    glBufferSubData
    glClear
    glClearColor
    glClearColorx
    glClearDepthf
    glClearDepthx
    glClearStencil
    glClientActiveTexture
    glClipPlanef
    glClipPlanex
    glColor4f
    glColor4x
    glColorMask
    glColorPointer
    glCompressedTexImage2D
    glCompressedTexSubImage2D
    glCopyTexImage2D
    glCopyTexSubImage2D
    glCullFace
    glDeleteBuffers
    glDeleteTextures
    glDepthFunc
    glDepthMask
    glDepthRangef
    glDepthRangex
    glDisable
    glDisableClientState
    glDrawArrays
    glDrawElements
    glEnable
    glEnableClientState
    glFinish
    glFlush
    glFogf
    glFogfv
    glFogx
    glFogxv
    glFrontFace
    glFrustumf
    glFrustumx
    glGenBuffers
    glGenTextures
    glGetBooleanv
    glGetBufferParameteriv
    glGetClipPlanef
    glGetClipPlanex
    glGetError
    glGetFixedv
    glGetFloatv
    glGetIntegerv
    glGetLightfv
    glGetLightxv
    glGetMaterialfv
    glGetMaterialxv
    glGetPointerv
    glGetString
    glGetTexEnvfv
    glGetTexEnviv
    glGetTexEnvxv
    glGetTexParameterfv
    glGetTexParameteriv
    glGetTexParameterxv
    glHint
    glIsBuffer
    glIsEnabled
    glIsTexture
    glLightModelf
    glLightModelfv
    glLightModelx
    glLightModelxv
    glLightf
    glLightfv
    glLightx
    glLightxv
    glLineWidth
    glLineWidthx
    glLoadIdentity
    glLoadMatrixf
    glLoadMatrixx
    glLogicOp
    glMaterialf
    glMaterialfv
    glMaterialx
    glMaterialxv
    glMatrixMode
    glMultMatrixf
    glMultMatrixx
    glMultiTexCoord4f
    glMultiTexCoord4x
    glNormal3f
    glNormal3x
    glNormalPointer
    glOrthof
    glOrthox
    glPixelStorei
    glPointParameterf
    glPointParameterfv
    glPointParameterx
    glPointParameterxv
    glPointSize
    glPointSizePointerOES
    glPointSizex
    glPolygonOffset
    glPolygonOffsetx
    glPopMatrix
    glPushMatrix
    glQueryMatrixxOES
    glReadPixels
    glRotatef
    glRotatex
    glSampleCoverage
    glSampleCoveragex
    glScalef
    glScalex
    glScissor
    glShadeModel
    glStencilFunc
    glStencilMask
    glStencilOp
    glTexCoordPointer
    glTexEnvf
    glTexEnvfv
    glTexEnvx
    glTexEnvxv
    glTexImage2D
    glTexParameterf
    glTexParameteri
    glTexParameterx
    glTexSubImage2D
    glTranslatef
    glTranslatex
    glVertexPointer
    glViewport

    sind doch mehr als erwartet 😃 Brauch ich überhaupt alle?


  • Mod

    wenn ich sowas schreibe, implementier ich erstmal alles dummy funktionen ala

    void glClear(...)
    {
    assert(0);
    }
    

    und starte dann eine applikaion meines vertrauens (koenntest z.b. quake3a nehmen) und implementierst stueck fuer stueck jede funktion die anschlaegt.

    sicherlich benutzt so ziemlich kein spiel/program _alle_ funktionen, aber ohne testprogramm willkuerlich zu implementieren wird dich auch nicht weiterbringen.



  • rapso schrieb:

    wenn ich sowas schreibe, implementier ich erstmal alles dummy funktionen ala

    void glClear(...)
    {
    assert(0);
    }
    

    und starte dann eine applikaion meines vertrauens (koenntest z.b. quake3a nehmen) und implementierst stueck fuer stueck jede funktion die anschlaegt.

    sicherlich benutzt so ziemlich kein spiel/program _alle_ funktionen, aber ohne testprogramm willkuerlich zu implementieren wird dich auch nicht weiterbringen.

    OK danke das ist schon mal ein anfang!



  • Hallo ich mal wieder...

    Ich hab mir jetzt erstmal ein Program rausgesucht was nicht soviele Api's verwendet...

    GL_OES_fixed_point
    GL_OES_single_precision
    GL_OES_read_format
    GL_OES_query_matrix
    GL_OES_point_size_array
    GL_OES_point_sprite
    GL_OES_compressed_paletted_texture

    leider hab ich keine Ahnung von Direct3D Mobile und weiß daher nicht die entprechenden gegenstücke, kennt da jemand eine seite im Inet die einen Vergleich machen 🙄 hab ewig gegooglet aber das ist "wie die nadel im heuhaufen"! 😞


  • Mod

    die dokumentation zu D3D ist im sdk dabei.
    eine seite die 1:1 zu allen opengl dingen aequivalente dinge in d3d aufzeigt wirst du nicht finden, das ist teil deiner arbeit. verstehe opengl, verstehe d3d und dann mappe so gut es geht von ogl auf d3d.



  • Hallo ich mal wieder 😉

    Hab jetzt eine dll mit der die Api's abgefangen werden...

    Jetzt muss ich Direct3D (wichtig Mobile) initialisieren! Hab dafür folgenden Code aus dem SDK aber ich krieg den irgenwie nicht richtig gestartet 🙄

    #pragma comment(linker, "/nodefaultlib:oldnames.lib")
    
    #include <windows.h>
    #include <d3dm.h>
    #include <aygshell.h>
    #include "include\Api.h"
    
    //-----------------------------------------------------------------------------
    // Global variables
    //-----------------------------------------------------------------------------
    LPDIRECT3DMOBILE        g_pD3DM       = NULL;  // Used to create the   // D3DMDevice
    LPDIRECT3DMOBILEDEVICE  g_pd3dmDevice = NULL;  // Our rendering   // device
    HMODULE                 g_hRefDLL     = NULL;  // DLL handle for   // d3dmref.dll
    bool                    g_bUseRef     = false; // Flag denoting use   // of d3dmref
    
    HRESULT InitD3DM( HWND hWnd )
    {
        // Create the D3DM object, which is needed to create the     // D3DMDevice.
        ///if( NULL == ( g_pD3DM = Direct3DMobileCreate( D3DM_SDK_VERSION ) ) )  DAS MUSSTE ICH AUSKOMMENTIEREN DA ICH SONST EINEN FEHLER BEKOMMEN HAB!!!!!
        ///    return E_FAIL;
    
        // Set up the structure used to create the D3DMDevice. Most     // parameters are zeroed out. We set Windowed to TRUE, since we want     // to do D3DM in a window, and then set the SwapEffect to     // "discard", which is the most efficient method of     // presenting the back buffer to the display. And we request a back     // buffer format that matches the current desktop display 
        // format.
        D3DMPRESENT_PARAMETERS d3dmpp; 
        memset( &d3dmpp, 0, sizeof(d3dmpp) );
        d3dmpp.Windowed = TRUE;
        d3dmpp.SwapEffect = D3DMSWAPEFFECT_DISCARD;
        d3dmpp.BackBufferFormat = D3DMFMT_UNKNOWN;
    
        // Create the Direct3D Mobile device.
        UINT uAdapter;
    
        if (g_bUseRef)
        {
            // Load the D3DM reference driver DLL
            g_hRefDLL = (HMODULE)LoadLibrary(TEXT("d3dmref.dll"));
            if (NULL == g_hRefDLL)
            {
                OutputDebugString(TEXT("Unable to load D3DM reference driver DLL.\n"));
                return E_FAIL;
            }
    
            // Get the reference driver's entry point
            void* pfnD3DMInit = GetProcAddress(g_hRefDLL, TEXT("D3DM_Initialize"));   
            if( NULL == pfnD3DMInit )
            {
                OutputDebugString(TEXT("Unable to retrieve D3DM reference driver entry point.\n"));
                return E_FAIL;
            }
    
            // Register the software device
            if( FAILED( g_pD3DM->RegisterSoftwareDevice(pfnD3DMInit) ) )
            {
                OutputDebugString(TEXT("Unable to register D3DM reference driver.\n"));
                return E_FAIL;
            }
    
            uAdapter = D3DMADAPTER_REGISTERED_DEVICE;
        }
        else
        {
            // Use the default system D3DM driver    
            uAdapter = D3DMADAPTER_DEFAULT;
        }
    
        if( FAILED( g_pD3DM->CreateDevice( uAdapter, 
                                        D3DMDEVTYPE_DEFAULT,
                                        hWnd, 0,
                                        &d3dmpp, &g_pd3dmDevice ) ) )
        {
            OutputDebugString(TEXT("Unable to create a D3DM device.\n"));
            return E_FAIL;
        }
    
        // Device state would normally be set here
    
        return S_OK;
    }
    

    und hier die Api entrys

    #define EGL_FALSE		       0
    #define EGL_TRUE		       1
    
    extern "C"
    {
    	__declspec(dllexport) bool eglGetDisplay()
    	{
    		return (0);
    	}
    
    	__declspec(dllexport) bool eglInitialize()
    	{
    //Hier soll Direct3D gestartet werden und wenn erfolgreich True zurückgeben...
    		return (EGL_TRUE);
    	}
    
    	__declspec(dllexport) int eglGetError()
    	{
    		return (1);
    	}
    
    	__declspec(dllexport) int eglGetConfigs()
    	{
    		return (0);
    	}
    
    	__declspec(dllexport) int eglChooseConfig()
    	{
    		return (2);
    	}
    }
    

    Ich hoffe mir kann hier einer weiterhelfen 😃


  • Mod

    D-Two schrieb:

    Ich hoffe mir kann hier einer weiterhelfen 😃

    aber klar, was genau ist die fragestellung 🙂



  • rapso schrieb:

    D-Two schrieb:

    Ich hoffe mir kann hier einer weiterhelfen 😃

    aber klar, was genau ist die fragestellung 🙂

    Mein Problem ist das ich es nicht hin bekomm an der "zeile 13 zweiter Code" dieses "HRESULT Init3D" abzufragen 😞 das mir ein "True" zurück geben soll wenn Direct3D initialiesiert ist!


  • Mod

    wieso bekommst du es nicht hin.



  • rapso schrieb:

    wieso bekommst du es nicht hin.

    Tja gute frage der sagt mir immer "InitD3DM" ist ein nicht deklarierter bezeichner!

    Aber ich weiß aber auch nicht wie ich es genau abrufe... Kannst du mir da helfen?

    habs so z.b probiert

    __declspec(dllexport) bool eglInitialize()
    	{
    		return HRESULT InitD3DM;
    	}
    

  • Mod

    ich glaube ich verstehe nicht ganz. es sieht fuer mich aus als ob du nicht weisst wie man eine funktion aufruf. quasi grundlage c(++), versteh ich das richtig, oder ist es doch ein graphikprogrammierungsproblem 😕



  • rapso schrieb:

    ich glaube ich verstehe nicht ganz. es sieht fuer mich aus als ob du nicht weisst wie man eine funktion aufruf. quasi grundlage c(++), versteh ich das richtig, oder ist es doch ein graphikprogrammierungsproblem 😕

    Dann zeig mir doch mal wie´s richtig aussieht 😉


Anmelden zum Antworten