Unconfigured Ad Widget

تقليص

إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

لديك Xbox إذن أدخل

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • لديك Xbox إذن أدخل

    جهاز XBOX كما نعرف هو منصة للألعاب كال PS2 , Game Cube من انتاج شركة مايكروسفت ولكن بخلاف جهاز PS2 يمكنك XBOX من جعله كمنصة تطوير للألعاب تحت تسمية XBOX Dev Kit أي يكنك عمل ألعاب في ال PC و تطويرها لتعمل على XBOX و لكن أولا عليك تحضير جهازك XBOX و تعديله ليصبح جاهزا لتطوير الألعاب و هذا ما سنراه في مجموعة دروس سأقوم بإنشائها إنشاء الله

    صورة للجهاز الأصلى الخاص بشركات تطوير الألعاب




    و صورة Menu البرنامج من داخل الجهاز


    و سنة 2008 طيبة انشاء الله
    التعديل الأخير تم بواسطة xdkhacker; 02 / 01 / 2008, 02:50 PM.
    »-(¯`v´¯)-»محرك اللعبة لن يكون له حدود إذا كان خيالك واسع ]·._.·´¯)

    استضافة و تصميم مواقع الإنترنيت
    http://www.iHostme.dz

    مجلة الألعاب الإلكترونية

    http://www.GameJT.com

    عالمك إلى الإبداع في تطوير منصات الألعاب

  • #2
    الدرس الأول كيفية التنصيب

    عملية تنصيب و تجعيز بيئة العمل تخص كلا من XBOX و PC الدرس باللغة الإنجليزية فيه كل شيئ قد تحتاجه و أي اتفسار يرجى تركه في الرد.
    لمشاهدة الدرس اضغط على الصورة أدناه



    »-(¯`v´¯)-»محرك اللعبة لن يكون له حدود إذا كان خيالك واسع ]·._.·´¯)

    استضافة و تصميم مواقع الإنترنيت
    http://www.iHostme.dz

    مجلة الألعاب الإلكترونية

    http://www.GameJT.com

    عالمك إلى الإبداع في تطوير منصات الألعاب

    تعليق


    • #3
      الدرس الثاني [أساسيات البرمجة على Xb0x]

      الشرح باللغة الإنجليزية نظرا لإنعدام مثل هذا الموضوع في المنتديات العربية أي أنه حصري على منتديات المنابر


      How DirectX3D actually works...




      Sitting at your pc typing in code....hour after hour....but why?... so you can see truly mouth watering effects But how are these effects generated? Its all done by your graphics card and Pentium chip....yup...your code is just 1's and 0's going a million..billion time's a second underneath it all.



      Now when you use DirectX3D, it has a set of API's (Application Specific Interface's)...which are just functions....so instead of writing a function to draw a line or a 3D box, you can draw it using the already made DirectX3D API.... now this has 3 main advantages:

      • Works across platforms...as your using the DirectX3D function's....if you write code for the XBOX using the XDK it has almost identical function naming, then if you want to convert your game/app/code over to the PC, you can use DirectX3D on the pc - re-compile your code with a few changes and there you have it.
      • Speed - well the functions in DirectX are optimised, so effectively this should improve your codes performance.
      • Bugs! - Where on DirectX 9 now, each version adds improvements and backward compatibility

      Anyhow....for the xbox, lets say you don't want to use the DirectX libraries, you could write your own routines....take a while....but you can do it over time...which is what the openxdk team are working on......as first, when you run your xbox, its like dos, you can access the graphics card at memory location 0xf0040000, so if you change the values at that memory location you are writing to the screen!....its called Direct Memory Access...fastest way to access your screen/graphics card...bypassing everything.... so this allows you to draw pixels as fast as possible to the screen....then comes the next part...drawing lines etc...you'll have to use y=mx + c....you do a small algorithm that calculates which pixels go where on the screen to generate a straight line between 2 points....but then you work out that there's more efficient algorithms.. ...then onto 3D...you have to use Matrix's if you want to get anywhere...then you have to create matrix class's....



      All in all, DirectX3D is your friend....its flexible and allows you to do amazing things in a short time.... also people can look at your code and understand what you've done

      »-(¯`v´¯)-»محرك اللعبة لن يكون له حدود إذا كان خيالك واسع ]·._.·´¯)

      استضافة و تصميم مواقع الإنترنيت
      http://www.iHostme.dz

      مجلة الألعاب الإلكترونية

      http://www.GameJT.com

      عالمك إلى الإبداع في تطوير منصات الألعاب

      تعليق


      • #4
        الدرس الثالث [أول خطوة لإنشاء لعبة على Xbox]

        Prt1 - "Empty Code" - is that it?
        So you've got the XDK, and you want a little tasty of how it works, how to get your little fingers in there.
        Well remember once you've installed the XDK, you start up visual C++, and you want to know where to start...this takes us the the entry point...the place where it all begins.

        كود PHP:
              //Main header file for the XDK
                   #include    <xtl.h>
                 
                   //Application entry point
                   
        void   __cdecl main()
                {
                 
                         
        StartGame();
                        
                } 
        What did you say? .."My god what is that!", well this is the entry point for all our programs, I've put a function called StartGame() in the body of the main loop which will call our code to start the game loop.
        You could take the function call out "StartGame()" and press compile and it could compile and generate a .xbe for you which would work on the xbox.
        Note: If you are using a mod-chip, and evo-x and you wish to run your .xbe on the xbox you must first patch it, copy it across using an ftp package such as FlashFXP then using FlashFXP send the execute binary command and away it goes.
        »-(¯`v´¯)-»محرك اللعبة لن يكون له حدود إذا كان خيالك واسع ]·._.·´¯)

        استضافة و تصميم مواقع الإنترنيت
        http://www.iHostme.dz

        مجلة الألعاب الإلكترونية

        http://www.GameJT.com

        عالمك إلى الإبداع في تطوير منصات الألعاب

        تعليق


        • #5
          الدرس الرابع [إنشاء تطبيق لشاشة زرقاء على Xbox]

          Prt2 - "DirectX Initilisation" - a blue screen

          Well you can't go through life just adding in a few lines of code that do nothing - so now for some juicy code you can look at. Don't be scared, this code we learn once, put it in an init() function and we can just call it whenever we start using directX.

          The code more or less stays the same. From now on you'll be able to cut and copy this code into further projects, or as I usually do, put it in a init.cpp file.

          كود PHP:
                   //Main header file for the XDK
                   #include    <xtl.h>
                 
                 
                   //Application entry point
                   
          void   __cdecl main()
                {
                         
          InitialiseD3D();
                        while(
          true)
                      {
                              
          //Clear the backbuffer to black
                                      //                                                      r   g   b
                               
          g_pD3DDevice->Clear(0NULLD3DCLEAR_TARGETD3DCOLOR_XRGB(0,  0255), 1.0f,    0);
                              
          //Begin the scene
                               
          g_pD3DDevice->BeginScene();
                 
                 
                              
          //End the scene
                               
          g_pD3DDevice->EndScene();
                 
                              
          //Filp the back and front buffers so that whatever    has been rendered on the back buffer
                              //will now be visible on screen (front buffer).
                    
                               
          g_pD3DDevice->Present(NULLNULLNULLNULL);
                      }       
                 
                      
          CleanUp();
                } 

          DirectX Initialisation code, which usually remains the same. i.e. you could put it in a separate file and just add it to each new project you create.

          كود PHP:
                LPDIRECT3D8    g_pD3D NULL;                      // DirectX    Object
                   
          LPDIRECT3DDEVICE8 g_pD3DDevice NULL;          //    Screen Object
                    
                   
          void    InitialiseD3D()
                {
                      
          //First of all, create the main D3D object. If it is    created successfully we 
                      //should get a pointer to an IDirect3D8 interface.
                    
          g_pD3D    Direct3DCreate8(D3D_SDK_VERSION);
                 
                      
          //Create a structure to hold the settings for our    device
                       
          D3DPRESENT_PARAMETERS d3dpp
                       
          ZeroMemory(&d3dppsizeof(d3dpp));
                 
                      
          //Fill the structure. 
                      // Set fullscreen 640x480x32 mode
                    
                         
          d3dpp.BackBufferWidth 640;
                         
          d3dpp.BackBufferHeight 480;
                         
          d3dpp.BackBufferFormat D3DFMT_X8R8G8B8;
                 
                 
                        
          // Create one backbuffer
                         
          d3dpp.BackBufferCount 1;
                 
                 
                 
                        
          // Set up how the backbuffer is "presented" to the    frontbuffer each time
                         
          d3dpp.SwapEffect D3DSWAPEFFECT_DISCARD;
                 
                      
          //Create a Direct3D device.
                       
          g_pD3D->CreateDevice(0D3DDEVTYPE_HALNULL
                                                      
          D3DCREATE_HARDWARE_VERTEXPROCESSING,    
                                                                      &
          d3dpp, &g_pD3DDevice);
                }
                 
                   
          void    CleanUp()
                {
                       
          g_pD3DDevice->Release();
                       
          g_pD3D->Release();
                } 

          So what happens - well when you run this little snippet of code don't expect to much. It just shows you the pieces that make up directX. It initilises directX then renders the screen (e.g. clears it blue). A blue screen is all you get when you run this little snippet of code.

          Well thats it, you should be able to look at this code and understand it. I've not details a lot of the small stuff, because I'll come back and do it later. For example - in g_pD3D->CreateDevice(0, D3DDEVICE_HAL, NULL, .., .., ..). The D3DDEVICE_HAL informs directX to use hardware for the computations.

          »-(¯`v´¯)-»محرك اللعبة لن يكون له حدود إذا كان خيالك واسع ]·._.·´¯)

          استضافة و تصميم مواقع الإنترنيت
          http://www.iHostme.dz

          مجلة الألعاب الإلكترونية

          http://www.GameJT.com

          عالمك إلى الإبداع في تطوير منصات الألعاب

          تعليق


          • #6
            الدرس الخامس [إنشاء مثلث ثلاثي الأبعاد لتجريبه في Xbox]

            [CENTER]
            Prt3 - Make a triangle

            Finally something exciting - well if you understand it all up to now, you'll be a game programmer in a few days. 3D is based on vertices, e.g. points in space. X,Y,Z value represents were in space it is located. We just join up these points to create complex shapes, like those used in Doom, or Halo
            A lot of the initialisation code is the same as before, you'll get used to it in time, and eventually just put it in a separate file where you can call it just once.

            كود PHP:
                     //Application entry point
                     
            void   __cdecl main()
                  {
                           
            InitialiseD3D();
                        while(
            true)
                        {
                                
            //Clear the backbuffer to black
                                 
            g_pD3DDevice->Clear(0NULLD3DCLEAR_TARGET,    D3DCOLOR_XRGB(02550), 1.0f0);
                                
            //Begin the scene
                                 
            g_pD3DDevice->BeginScene();
                   
                   
                                       
            //NEW NEW NEW NEW NEW NEW NEW NEW    NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW
                                       
            DrawTriangle();
                   
                                
            //End the scene
                                 
            g_pD3DDevice->EndScene();
                   
                                
            //Filp the back and front buffers so that whatever    has been rendered on the back buffer
                                //will now be visible on screen (front buffer).
                      
                                 
            g_pD3DDevice->Present(NULLNULLNULLNULL);
                        }       
                   
                        
            CleanUp();
                  } 

            And next comes the DirectX Initilisation, and De-Initilisation.

            كود PHP:
                     //Main header file for the XDK
                     #include    <xtl.h>
                   
                  
            LPDIRECT3D8    g_pD3D NULL;                      // DirectX    Object
                     
            LPDIRECT3DDEVICE8 g_pD3DDevice NULL;          //    Screen Object
                      
                     
            void    InitialiseD3D()
                  {
                        
            //First of all, create the main D3D object. If it is    created successfully we 
                        //should get a pointer to an IDirect3D8 interface.
                      
            g_pD3D    Direct3DCreate8(D3D_SDK_VERSION);
                   
                        
            //Create a structure to hold the settings for our    device
                         
            D3DPRESENT_PARAMETERS d3dpp
                         
            ZeroMemory(&d3dppsizeof(d3dpp));
                   
                        
            //Fill the structure. 
                        // Set fullscreen 640x480x32 mode
                      
                           
            d3dpp.BackBufferWidth 640;
                           
            d3dpp.BackBufferHeight 480;
                           
            d3dpp.BackBufferFormat D3DFMT_X8R8G8B8;
                   
                   
                          
            // Create one backbuffer
                           
            d3dpp.BackBufferCount 1;
                   
                          
            // Set up how the backbuffer is "presented" to the    frontbuffer each time
                           
            d3dpp.SwapEffect D3DSWAPEFFECT_DISCARD;
                   
                        
            //Create a Direct3D device.
                         
            g_pD3D->CreateDevice(0D3DDEVTYPE_HALNULL
                                                        
            D3DCREATE_HARDWARE_VERTEXPROCESSING,    
                                                                        &
            d3dpp, &g_pD3DDevice);
                  }
                   
                     
            void    CleanUp()
                  {
                         
            g_pD3DDevice->Release();
                         
            g_pD3D->Release();
                  } 

            Finally the Code that draws our wonderful, wonderful triangle for us. As you can see, the DrawTriangle code has to be called within the ->BeginScene(), and ->EndScene()
            member functions above in main(), I've commented the code with //NEW NEW.. so that you can see the main points I am trying to outline.

            كود PHP:
                     //NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW
                     //NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW
                      
                     
            LPDIRECT3DVERTEXBUFFER8 g_pVertexBuffer NULL//    Vertices Buffer
                      
                     
            struct    CUSTOMVERTEX
                  
            {
                      
            FLOAT    xyzrhw// The transformed position for the vertex.
                      
            DWORD    colour// The vertex colour.
                  
            };
                   
                     
            #define    D3DFVF_CUSTOMVERTEX (D3DFVF_XYZRHW|D3DFVF_DIFFUSE)
                   
                   
                     
            void    DrawTriangle()
                  {
                      
            VOID*    pVertices;
                         
                        
            //Store each point of the triangle together with    it's colour
                         
            CUSTOMVERTEX cvVertices[] =
                      {
                             {
            250.0f100.0f0.5f1.0fD3DCOLOR_XRGB(25500),},   //Vertex 1 - Red (250, 100)
                             
            {400.0f350.0f0.5f1.0fD3DCOLOR_XRGB(02550),},   //Vertex 2 - Green (400, 350)
                             
            {100.0f350.0f0.5f1.0fD3DCOLOR_XRGB(00255),},   //Vertex 3 - Blue (100, 350)
                      
            };
                   
                        
            //Create the vertex buffer from our device
                         
            g_pD3DDevice->CreateVertexBuffer(sizeof(CUSTOMVERTEX),
                                                                    
            0
                                                                                             
            D3DFVF_CUSTOMVERTEX,
                                                                    
            D3DPOOL_DEFAULT
                                                                                          &
            g_pVertexBuffer);
                        
            //Get a pointer to the vertex buffer vertices and    lock the vertex buffer
                         
            g_pVertexBuffer->Lock(0sizeof(cvVertices),    (BYTE**)&pVertices0);
                   
                        
            //Copy our stored vertices values into the vertex    buffer
                         
            memcpy(pVerticescvVerticessizeof(cvVertices));
                   
                        
            //Unlock the vertex buffer
                         
            g_pVertexBuffer->Unlock();
                   
                          
            //Rendering our triangle
                         
            g_pD3DDevice->SetStreamSource(0g_pVertexBuffer,    sizeof(CUSTOMVERTEX));
                         
            g_pD3DDevice->SetVertexShader(D3DFVF_CUSTOMVERTEX);
                         
            g_pD3DDevice->DrawPrimitive(D3DPT_TRIANGLELIST01);
                   
                                 
            // Every time    we Create a vertex buffer, we must release one!.
                                  
            g_pVertexBuffer->Release();
                   
                  }
                   
                     
            //NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW
                  //NEW    NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW 


            Yup, I can hear you say it from here, "Wow", a triangle, not just any triangle, a funky coloured textured one on a blue background. Well when you've just started out in the big bad world of xdk development I think it seems pretty rewarding.
            You can see from the DrawTriangle() function, that we set some vertices up (e.g. x,y,z points) and just copy them into our directX buffer and render them to the screen. DirectX buffer? Whats that? Well your graphics card has memory onboard, and if we use the directX buffer it will put it in there so that we can obtain better performance.
            »-(¯`v´¯)-»محرك اللعبة لن يكون له حدود إذا كان خيالك واسع ]·._.·´¯)

            استضافة و تصميم مواقع الإنترنيت
            http://www.iHostme.dz

            مجلة الألعاب الإلكترونية

            http://www.GameJT.com

            عالمك إلى الإبداع في تطوير منصات الألعاب

            تعليق


            • #7
              الدرس السادس [اكساء المثلث]

              Prt4 - Textured Triangle

              Well the codes not that much different than a simple coloured triangle, just added a couple of new lines, ... now the codes starting to get long and if you understand it good, if not, sit down with a good cup of coffee and go over it a few times. These are the basics that all the other examples will work on.

              كود PHP:
                       //Application entry point
                       
              void   __cdecl main()
                    {
                             
              InitialiseD3D();
                            while(
              true)
                          {
                                  
              //Clear the backbuffer to black
                                   
              g_pD3DDevice->Clear(0NULLD3DCLEAR_TARGET|D3DCLEAR_ZBUFFER,    D3DCOLOR_XRGB(02550), 1.0f0);
                                  
              //Begin the scene
                                   
              g_pD3DDevice->BeginScene();
                     
                     
                                         
              //NEW NEW NEW NEW NEW NEW NEW NEW    NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW
                                         
              DrawTexturedTriangle();
                     
                                  
              //End the scene
                                   
              g_pD3DDevice->EndScene();
                     
                                  
              //Filp the back and front buffers so that whatever    has been rendered on the back buffer
                                  //will now be visible on screen (front buffer).
                        
                                   
              g_pD3DDevice->Present(NULLNULLNULLNULL);
                          }       
                          
              CleanUp();
                    } 

              Well as I promised practically anything has changed in the main() function, anything new has been commented with "//NEW NEW" at the start and end.

              كود PHP:
                       //Main header file for the XDK
                       #include    <xtl.h>
                     
                    
              LPDIRECT3D8    g_pD3D NULL;                      // DirectX    Object
                       
              LPDIRECT3DDEVICE8 g_pD3DDevice NULL;          //    Screen Object
                        
                       
              void    InitialiseD3D()
                    {
                          
              //First of all, create the main D3D object. If it is    created successfully we 
                          //should get a pointer to an IDirect3D8 interface.
                        
              g_pD3D    Direct3DCreate8(D3D_SDK_VERSION);
                     
                          
              //Create a structure to hold the settings for our    device
                           
              D3DPRESENT_PARAMETERS d3dpp
                           
              ZeroMemory(&d3dppsizeof(d3dpp));
                     
                          
              //Fill the structure. 
                          // Set fullscreen 640x480x32 mode
                        
                             
              d3dpp.BackBufferWidth 640;
                             
              d3dpp.BackBufferHeight 480;
                             
              d3dpp.BackBufferFormat D3DFMT_X8R8G8B8;
                     
                     
                            
              // Create one backbuffer and a zbuffer
                             
              d3dpp.BackBufferCount 1;
                             
              d3dpp.EnableAutoDepthStencil TRUE;
                             
              d3dpp.AutoDepthStencilFormat D3DFMT_D24S8;
                     
                     
                     
                            
              // Set up how the backbuffer is "presented" to the    frontbuffer each time
                             
              d3dpp.SwapEffect D3DSWAPEFFECT_DISCARD;
                     
                            
              //Create a Direct3D device.
                          
              g_pD3D->CreateDevice(0D3DDEVTYPE_HALNULL
                                                          
              D3DCREATE_HARDWARE_VERTEXPROCESSING,    
                                                                          &
              d3dpp, &g_pD3DDevice);
                     
                     
                            
              //NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW    NEW NEW NEW NEW NEW NEW
                            //NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW    NEW NEW NEW NEW NEW NEW
                             
              g_pD3DDevice->SetTextureStageState(0D3DTSS_COLOROPD3DTOP_SELECTARG1);
                             
              g_pD3DDevice->SetTextureStageState(0,D3DTSS_COLORARG1D3DTA_TEXTURE);
                     
                            
              //Turn off lighting becuase we are specifying that    our vertices have textures colour
                          
              g_pD3DDevice->SetRenderState(D3DRS_LIGHTING,    FALSE);
                               
              //NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW
                            //NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW    NEW NEW NEW NEW NEW NEW
                     
                    
              }
                     
                     
                     
                       
              void    CleanUp()
                    {
                           
              g_pD3DDevice->Release();
                           
              g_pD3D->Release();
                    } 

              Well below shows the juicy part of the code which actually makes the drawing of a textured triangle possible. I can see the excitement in your eyes - just think of the possibilities.

              كود PHP:
                       //NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW
                       //NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW
                        
                       
              LPDIRECT3DVERTEXBUFFER8 g_pVertexBuffer NULL//    Vertices Buffer
                       
              LPDIRECT3DTEXTURE8 pTexture NULL;
                     
                       
              struct    CUSTOMVERTEX
                    
              {
                        
              FLOAT    xyz// The transformed position for the vertex.
                        
              DWORD    colour// The vertex colour.
                        
              FLOAT tutv;
                    };
                     
                       
              #define    D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ|D3DFVF_DIFFUSE|D3DFVF_TEX1)
                     
                     
                       
              void    DrawTexturedTriangle()
                    {
                        
              VOID*    pVertices;
                           
                          
              //Store each point of the triangle together with    it's colour
                           
              CUSTOMVERTEX cvVertices[] =
                        {
                            {    -
              1.0f, -1.0f0.0f0x00FF00000.0f1.0f }, // x,    y, z, color 
                                   
              { -1.0f,  1.0f0.0f0x0000FF000.0f0.0f }, 
                                   {  
              1.0f,  1.0f0.0f0x000000FF1.0f0.0f }
                        };
                            
                            
              //FileName is "D:\\xfactordev.bmp"
                             
              D3DXCreateTextureFromFile(g_pD3DDevice"D:\\xfactordev.bmp", &pTexture);
                     
                          
              //Create the vertex buffer from our device
                           
              g_pD3DDevice->CreateVertexBuffer(sizeof(CUSTOMVERTEX),
                                                                      
              0
                                                                                               
              D3DFVF_CUSTOMVERTEX,
                                                                      
              D3DPOOL_DEFAULT
                                                                                            &
              g_pVertexBuffer);
                     
                          
              //Get a pointer to the vertex buffer vertices and    lock the vertex buffer
                           
              g_pVertexBuffer->Lock(0sizeof(cvVertices),    (BYTE**)&pVertices0);
                     
                          
              //Copy our stored vertices values into the vertex    buffer
                           
              memcpy(pVerticescvVerticessizeof(cvVertices));
                     
                          
              //Unlock the vertex buffer
                           
              g_pVertexBuffer->Unlock();
                     
                            
              //Rendering our triangle
                           
              g_pD3DDevice->SetStreamSource(0g_pVertexBuffer,    sizeof(CUSTOMVERTEX));
                           
              g_pD3DDevice->SetVertexShader(D3DFVF_CUSTOMVERTEX);
                        
              //Set    our background to use our texture buffer
                          
              g_pD3DDevice->SetTexture(0pTexture);   
                           
              g_pD3DDevice->DrawPrimitive(D3DPT_TRIANGLELIST01);
                     
                             
              g_pVertexBuffer->Release();
                             
              pTexture->Release();
                     
                     
                    }
                     
                       
              //NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW
                       //NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW NEW 

              An important thing not to forget when testing this code, don't forget to put the bitmap (e.g. xfactordev.bmp) in the same folder that your running the .xbe from. Or else it will just crash your xbox and you'll have to re-start it.
              Its a simple piece of code, the only real difference between this piece of code and the code from earlier (e.g. a basic triangle) is that we have a DirectX texture buffer, and have added texture coordinates to our CUSTOMVERTEX structure.
              When you run this code, you'll get half a triangle pasted across your screen which is blue, and on the other half, you'll get a textured triangle with the contents of the bitmap stretched onto it.
              I can see you drooling with excitement....Oooo...yeah...just think, where getting closer and closer to that polygon drawn character with a texture mapped onto him.
              »-(¯`v´¯)-»محرك اللعبة لن يكون له حدود إذا كان خيالك واسع ]·._.·´¯)

              استضافة و تصميم مواقع الإنترنيت
              http://www.iHostme.dz

              مجلة الألعاب الإلكترونية

              http://www.GameJT.com

              عالمك إلى الإبداع في تطوير منصات الألعاب

              تعليق


              • #8
                بداية قوية ما شاء الله عليك ...

                جاري القراءة

                تعليق


                • #9
                  شكرا أخي Oms أحتاج تشجيعك
                  »-(¯`v´¯)-»محرك اللعبة لن يكون له حدود إذا كان خيالك واسع ]·._.·´¯)

                  استضافة و تصميم مواقع الإنترنيت
                  http://www.iHostme.dz

                  مجلة الألعاب الإلكترونية

                  http://www.GameJT.com

                  عالمك إلى الإبداع في تطوير منصات الألعاب

                  تعليق


                  • #10
                    مشكور جدا اخي
                    Silent Man

                    تعليق


                    • #11
                      الف شكر لك أخي xdkhacker

                      تعليق


                      • #12
                        الله يجزاك خير أخي
                        لا تجعل الله أهون الناظرين إليك
                        ---------


                        تعليق


                        • #13
                          هناك إستفسار ؟
                          - ال XBox ما له برامج شبه جاهزة يتم إستخدامها للبرمجة بدلاً من السي ++ ؟ يعني أنا أعلم أن ال PS2 له ذلك فهل الإكس بوكس كذلك ؟
                          - فكرة إقتناء ال Xbox Dev Kit هل هي بسيطة أم معقدة كسابقتها السوني بلايستيشن ؟ وهل عندك أسعار تقريبية لها ؟
                          - بالنسبة لل XBox العادي مش ال 360 .. إلى أي دايريكت إكس بيقبل ؟؟؟؟ 7 ؟ 8 ؟ 9 !!!!

                          تعليق


                          • #14
                            مرحبا أخي OMS
                            1- أولا يجب عليك البرمجة باستخدام Visuel Studio .NET 2003 أو 2005 و يوجد مع البرامج محرك بسيط يمكنك من رؤية نتيجة عملك النهائية مباشرة على XBOX و ذلك عن طريق ربطها بشبكة Network و الضغط على زر معين في البرنامج كال Compiler و أيضا يوجد Plugin يستعمل في برنامج Virtools لكن لم أستطع إيجاده للآن للأسف.
                            2- إن فكرة اقتناء XBOX Dev Kit هي مستحيلة و لكن قصدي كان أن تحول جهازك XBOX المنزلي إلى Dev Kit بتنصيب فلاش معين داخله ليصبح يقوم بعملية يمكن تعرفها تسمى Debuging فيتحول إلى XBOX Dev Kit .
                            3- أما الديركت إكس فهو ينتمي إلى Directx8 وهو مزود ب Pixel Shader 1.1 و تقنية Bump Mapping و Vertex Lighting و تكنولوجيات أخرى مما جعلت XBOX يتفوق على PS2 من حيث الجرافكس
                            و أي اتفسار فأنا موجود انشاء الله
                            »-(¯`v´¯)-»محرك اللعبة لن يكون له حدود إذا كان خيالك واسع ]·._.·´¯)

                            استضافة و تصميم مواقع الإنترنيت
                            http://www.iHostme.dz

                            مجلة الألعاب الإلكترونية

                            http://www.GameJT.com

                            عالمك إلى الإبداع في تطوير منصات الألعاب

                            تعليق


                            • #15
                              شاكر لإستفساراتك ..

                              وأول مرة بسمع بطريقة إضافة الفلاش هذي .. الله يخليلنا الهكر .. بيسهروا على راحتنا

                              طيب عندك معلومات مشابهة للpsp أو ال Ps2 ؟؟ من حيث طريقة التحويل؟

                              تعليق

                              يعمل...
                              X