Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Everything posted by CoOlDud3

  1. Hi, After tutorial 3 of SlimDX main website I am confused on index buffers. Can anyone write me some c#/Slimdx code on how to draw a rectangle using vertex and index buffers in slimdx so that I could practice on it further more. I'd be greatful for your kind help   Regards, Rayyan Tahir
  2. CoOlDud3

    Drawing A Rectangle In SlimDX

    Thank you I'll look into it :)
  3. CoOlDud3

    Drawing A Rectangle In SlimDX

    Which of the two (SlimDX, SharpDX) is the best option for now? Because I think I'm stuck due to lack of tutorials on SlimDX.
  4. CoOlDud3

    3DS Mesh Reader

    Finally a .NET Wrapper. Thankyou!
  5. Hi, I have been browsing the internet and found this: http://www.spacesimulator.net/wiki/index.php?title=Tutorials:3ds_Loader. It is a tutorial on writing a loader for a mesh object stored in a binary file with extension .3DS. But it is implemented using C++. Can anyone implement it in c#.net? Or tell me how? I want to use it for my game using SlimDX. Any help will be appreciated.   Regards, Rayyan Tahir
  6. Hi, In my Xna 3D Game. I made my own Terrain.cs Class in which I did the follows:   class Terrain { String LocationOfFile; GraphicsDevice Device; Viewport Viewport; Model Ground; Vector3 Position; Matrix World = Matrix.Identity; public Terrain() { } public void Initialize(GraphicsDevice D, Model Mesh, String LocationOfFile) { Ground = Mesh; Device = D; this.LocationOfFile = LocationOfFile; Viewport = Device.Viewport; } public void LoadContent(ContentManager Content, Vector3 Pos) { Ground = Content.Load<Model>(LocationOfFile); Position = Pos; World = Matrix.CreateTranslation(Position); } public void Draw(SpriteBatch spriteBatch, Camera.Camera Camera) { Matrix[] Transformations = new Matrix[Ground.Bones.Count]; Ground.CopyAbsoluteBoneTransformsTo(Transformations); foreach (ModelMesh Mesh in Ground.Meshes) { foreach (BasicEffect effect in Mesh.Effects) { effect.EnableDefaultLighting(); effect.View = Camera.View; effect.Projection = Camera.Projection; effect.World = Transformations[Ground.Bones.Count] * World; } Mesh.Draw(); } } }   And from my Game1.cs Class I did this:   public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics; SpriteBatch spriteBatch; Camera.Camera Camera; Terrain.Terrain Terrain; Model Land; public LifeAsWeKnowIt() { graphics = new GraphicsDeviceManager(this); Content.RootDirectory = "Content"; } protected override void Initialize() { graphics.PreferredBackBufferHeight = 600; graphics.PreferredBackBufferWidth = 800; Camera = new Camera.Camera(this.GraphicsDevice, Vector3.Zero, new Vector3(0.0f, 20.0f, 0.0f), 1.0f, 1000.0f); Terrain = new Life_As_We_Know_It.Terrain.Terrain(); Terrain.Initialize(this.GraphicsDevice, Land, "Terrains\\Land"); base.Initialize(); } protected override void LoadContent() { spriteBatch = new SpriteBatch(GraphicsDevice); // TODO: use this.Content to load your game content here } protected override void UnloadContent() { } protected override void Update(GameTime gameTime) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit(); Terrain.Update(gameTime); base.Update(gameTime); } protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.CornflowerBlue); Terrain.Draw(spriteBatch, Camera); base.Draw(gameTime); } }   But when I try to draw my Terrain Object derived from Terrain.cs Class I get the following error:   Object Reference Not Set To An Instance Of An Object In the Terrain.cs Class on Line "Matrix[] Transformations = new Matrix[Ground.Bones.Count];"
  7. Never Mind. Found The Problem. I forgot to call Terrain.LoadContent(Content, Vector3.Zero) in LoadContent Function of Game1.cs Class
  8. CoOlDud3

    Mesh Format Confusion

    I have two questions:   1) Which Mesh format do the professional 3D game developing companies (EA Games, Ubisoft, Rockstar Games) use?   2) Are there libraries available for DirectX 9, 10 and 11, to make the process of importing mesh in that widely used format easy?
  9. CoOlDud3

    Mesh Format Confusion

    Oh! You are the Alin guy who made that DirectX Exporter for 3DS Max. I've been using your exporter for a while now and I gotta say you've done a great job. But I am experiencing an issue while using it. After exporting a flat plane mesh with grass.png texture on it. When I load the mesh in my DirectX9 game. The object shows, but without the textures. Can you please guide me :). 
  10. CoOlDud3

    Mesh Format Confusion

    Thank you for all the helpful details. Can you provide any good resources that could teach me the process of creating my own mesh format, and building an import library for it in DirectX?. I'll appreciate It.
  11. Hi, I have a Terrain.OBJ file in the location "C:\". I want to convert it to Terrain.X using MeshConvert.exe so that I could import it in my DirectX Game. But when I input this:-   >meshconvert /x input C:\Terrain     I get a message saying: "Too many input files provided: Terrain".   Can anyone tell me the correct way of doing this PLEASE? .     
  12. According to the MeshConvert.exe Project when we input the "filename", It's the same as "filename" in the function D3DXLoadMeshFromX(L"filename.x", ..........);   You are right the parameters should be correct! 
  13. meshconvert /x "C:\Terrain.obj"   Gives me "Cannot Load Specified Input File".   I believe a part of it would be correct if I try this way: meshconvert /x input "C:\Terrain.obj"   But then this gives me: "Too many input files provided: C:\Terrain.obj"
  14. This didn't work I get this message: "Too many input files provided: C:\Terrain".
  15. Hey guys!   My questions are:-   1) What TOOLS can I use to create 3D Games for Android Devices? (I'm talking about Game Engines & APIs)   2) Does Android SDK provide a Framework for 3D Game Development?
  16. Ill try OpenGL framework with android SDK. Libraries would be really helpful, but I don't want to buy any licenses. Anyways thankyou =)
  17. Hi, First of all I am very weak in english so please bear with me. I was working out the examples in Chapter 5 of Frank. D. Luna's Book "Introduction To 3D Game Programming With DirectX 9.0". So In that chapter's source code what we have is a pyramid rotating about it's Y-Axis. And a directional light is lighting it up. For experimenting I changed the directional light to a point light. I placed the point light 20 units to "-Z Axis" and I set it's range to 20. Now half of the pyramid is lit. FINE. The problem is that when the pyramid is rotating the light's movement effect on it is not very smooth but makes strange jumps on the next face that comes infront of it. I have attached the source code below. Please tell me how should I make the light's effect smooth.   ////////////////////////////////////////////////////////////////////////////////////////////////// // // File: litPyramid.cpp // // Author: Frank Luna (C) All Rights Reserved // // System: AMD Athlon 1800+ XP, 512 DDR, Geforce 3, Windows XP, MSVC++ 7.0 // // Desc: Renders a lit pyramid. Demonstrates how to specify the vertex // normals, how to create and set a material, and how to create // and set a directional light. // ////////////////////////////////////////////////////////////////////////////////////////////////// #include "d3dUtility.h" // // Globals // IDirect3DDevice9* Device = 0; const int Width = 800; const int Height = 600; IDirect3DVertexBuffer9* Pyramid = 0; // // Classes and Structures // struct Vertex { Vertex(){} Vertex(float x, float y, float z, float nx, float ny, float nz) { _x = x; _y = y; _z = z; _nx = nx; _ny = ny; _nz = nz; } float _x, _y, _z; float _nx, _ny, _nz; static const DWORD FVF; }; const DWORD Vertex::FVF = D3DFVF_XYZ | D3DFVF_NORMAL; // // Framework Functions // bool Setup() { // // Turn on lighting. // Device->SetRenderState(D3DRS_LIGHTING, true); // // Create the vertex buffer for the pyramid. // Device->CreateVertexBuffer( 12 * sizeof(Vertex), D3DUSAGE_WRITEONLY, Vertex::FVF, D3DPOOL_MANAGED, &Pyramid, 0); // // Fill the vertex buffer with pyramid data. // Vertex* v; Pyramid->Lock(0, 0, (void**)&v, 0); // front face v[0] = Vertex(-1.0f, 0.0f, -1.0f, 0.0f, 0.707f, -0.707f); v[1] = Vertex( 0.0f, 1.0f, 0.0f, 0.0f, 0.707f, -0.707f); v[2] = Vertex( 1.0f, 0.0f, -1.0f, 0.0f, 0.707f, -0.707f); // left face v[3] = Vertex(-1.0f, 0.0f, 1.0f, -0.707f, 0.707f, 0.0f); v[4] = Vertex( 0.0f, 1.0f, 0.0f, -0.707f, 0.707f, 0.0f); v[5] = Vertex(-1.0f, 0.0f, -1.0f, -0.707f, 0.707f, 0.0f); // right face v[6] = Vertex( 1.0f, 0.0f, -1.0f, 0.707f, 0.707f, 0.0f); v[7] = Vertex( 0.0f, 1.0f, 0.0f, 0.707f, 0.707f, 0.0f); v[8] = Vertex( 1.0f, 0.0f, 1.0f, 0.707f, 0.707f, 0.0f); // back face v[9] = Vertex( 1.0f, 0.0f, 1.0f, 0.0f, 0.707f, 0.707f); v[10] = Vertex( 0.0f, 1.0f, 0.0f, 0.0f, 0.707f, 0.707f); v[11] = Vertex(-1.0f, 0.0f, 1.0f, 0.0f, 0.707f, 0.707f); Pyramid->Unlock(); // // Create and set the material. // D3DMATERIAL9 mtrl; mtrl.Ambient = d3d::WHITE; mtrl.Diffuse = d3d::WHITE; mtrl.Specular = d3d::WHITE; mtrl.Emissive = d3d::BLACK; mtrl.Power = 5.0f; Device->SetMaterial(&mtrl); // // Setup a directional light. // D3DLIGHT9 dir; ::ZeroMemory(&dir, sizeof(dir)); dir.Type = D3DLIGHT_POINT; dir.Diffuse = d3d::WHITE; dir.Specular = d3d::WHITE * 0.3f; dir.Ambient = d3d::WHITE * 0.6f; //dir.Direction = D3DXVECTOR3(0.0f, 0.0f, 1.0f); dir.Position = D3DXVECTOR3(0.0f, 0.0f, -20.0f); dir.Range = 20.0f; // // Set and Enable the light. // Device->SetLight(0, &dir); Device->LightEnable(0, true); // // Turn on specular lighting and instruct Direct3D // to renormalize normals. // Device->SetRenderState(D3DRS_NORMALIZENORMALS, true); Device->SetRenderState(D3DRS_SPECULARENABLE, true); // // Position and aim the camera. // D3DXVECTOR3 pos(0.0f, 1.0f, -3.0f); D3DXVECTOR3 target(0.0f, 0.0f, 0.0f); D3DXVECTOR3 up(0.0f, 1.0f, 0.0f); D3DXMATRIX V; D3DXMatrixLookAtLH(&V, &pos, &target, &up); Device->SetTransform(D3DTS_VIEW, &V); // // Set the projection matrix. // D3DXMATRIX proj; D3DXMatrixPerspectiveFovLH( &proj, D3DX_PI * 0.5f, // 90 - degree (float)Width / (float)Height, 1.0f, 1000.0f); Device->SetTransform(D3DTS_PROJECTION, &proj); return true; } void Cleanup() { d3d::Release<IDirect3DVertexBuffer9*>(Pyramid); } bool Display(float timeDelta) { if( Device ) { // // Update the scene: Rotate the pyramid. // D3DXMATRIX yRot; static float y = 0.0f; D3DXMatrixRotationY(&yRot, y); y += timeDelta; if( y >= 6.28f ) y = 0.0f; Device->SetTransform(D3DTS_WORLD, &yRot); // // Draw the scene: // Device->Clear(0, 0, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, 0x00000000, 1.0f, 0); Device->BeginScene(); Device->SetStreamSource(0, Pyramid, 0, sizeof(Vertex)); Device->SetFVF(Vertex::FVF); Device->DrawPrimitive(D3DPT_TRIANGLELIST, 0, 4); Device->EndScene(); Device->Present(0, 0, 0, 0); } return true; } // // WndProc // LRESULT CALLBACK d3d::WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch( msg ) { case WM_DESTROY: ::PostQuitMessage(0); break; case WM_KEYDOWN: if( wParam == VK_ESCAPE ) ::DestroyWindow(hwnd); break; } return ::DefWindowProc(hwnd, msg, wParam, lParam); } // // WinMain // int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE prevInstance, PSTR cmdLine, int showCmd) { if(!d3d::InitD3D(hinstance, Width, Height, true, D3DDEVTYPE_HAL, &Device)) { ::MessageBox(0, L"InitD3D() - FAILED", 0, 0); return 0; } if(!Setup()) { ::MessageBox(0, L"Setup() - FAILED", 0, 0); return 0; } d3d::EnterMsgLoop( Display ); Cleanup(); Device->Release(); return 0; }     I have also attached a ten second video of what I am talking about.
  18. Oh yes! Now I see why it is like this. It is per-vertex and as there are very less the light is behaving this way. Also It's not a shader approach. Thanks. Will It be smooth if I use shaders? 
  19. Use the assets in your game for EDUCATIONAL PURPOSES ONLY. And you'll be fine. . If you are planning to publish your game then that is illegal! 
  20. Hi, I'm working on this XNA 4.0 Windows based game in which there is a jet flying around the city. What i want to implement are particle systems for when my jet throws a bomb in the city. For now I took a look at tutorials. They are way easy to implement. So i tried to integrate a SmokeParticleSystem derived from DefaultTexturedQuadParticleSystem. The only problem is that I can't see any smoke. I have provided it with a smoke texture. But still im lost. here is what i did in my code: //Global Variable: SmokeParticleSystem smokeps = null; //Load Content Method: smokeps = new SmokeParticleSystem(this); smokeps.AutoInitialize(this.graphicsdevice, this.content, null); //Update Method: smokeps.SetWorldViewProjectionMatrices(Matrix.Identity, viewMatrix, projectionMatrix); smokeps.SetCameraPosition(cameraPosition); smokeps.Update((float)gameTime.ElapsedGameTime.TotalSeconds); //Draw Method: smokeps.Draw(); I would appreciate your help. =) Regards, Rayyan Tahir
  21. Hey Guys! I am working on a Xna 3D game consisting of a jet flying around the city throwing bombs at buildings. I need a particle system class for the following: 1) SmokeTrail Behind missiles 2) Explosion 3) Fire 4) Smoke I have tried Dynamic Particle System Framework (DPSF) But had problems of seeing my particle system in my game. For that I have posted question here "http://www.gamedev.net/topic/633880-cant-see-any-smoke-using-dynamic-particle-system-framework-dpsf/" and still waiting for a reply since the whole day. I really need help in this. I will be truely greatful for your kind help. Regards, Rayyan Tahir.
  22. Here is the template: #region File Description //=================================================================== // DefaultTexturedQuadParticleSystemTemplate.cs // // This file provides the template for creating a new Textued Quad Particle // System that inherits from the Default Textured Quad Particle System. // // The spots that should be modified are marked with TODO statements. // // Copyright Daniel Schroeder 2008 //=================================================================== #endregion #region Using Statements using System; using DPSF; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; #endregion namespace DPSF.ParticleSystems { //----------------------------------------------------------- // TODO: Rename/Refactor the Particle System class //----------------------------------------------------------- /// <summary> /// Create a new Particle System class that inherits from a Default DPSF Particle System. /// </summary> #if (WINDOWS) [Serializable] #endif class SmokeParticleSystem : DefaultTexturedQuadParticleSystem { /// <summary> /// Constructor /// </summary> /// <param name="cGame">Handle to the Game object being used. Pass in null for this /// parameter if not using a Game object.</param> public SmokeParticleSystem(Game cGame) : base(cGame) { } //=========================================================== // Structures and Variables //=========================================================== //----------------------------------------------------------- // TODO: Place any Particle System properties here //----------------------------------------------------------- //=========================================================== // Overridden Particle System Functions //=========================================================== //----------------------------------------------------------- // TODO: Place any overridden Particle System functions here //----------------------------------------------------------- //=========================================================== // Initialization Functions //=========================================================== /// <summary> /// Function to Initialize the Particle System with default values. /// Particle system properties should not be set until after this is called, as /// they are likely to be reset to their default values. /// </summary> /// <param name="cGraphicsDevice">The Graphics Device the Particle System should use</param> /// <param name="cContentManager">The Content Manager the Particle System should use to load resources</param> /// <param name="cSpriteBatch">The Sprite Batch that the Sprite Particle System should use to draw its particles. /// If this is not initializing a Sprite particle system, or you want the particle system to use its own Sprite Batch, /// pass in null.</param> public override void AutoInitialize(GraphicsDevice cGraphicsDevice, ContentManager cContentManager, SpriteBatch cSpriteBatch) { //----------------------------------------------------------- // TODO: Change any Initialization parameters desired and the Name //----------------------------------------------------------- // Initialize the Particle System before doing anything else InitializeTexturedQuadParticleSystem(cGraphicsDevice, cContentManager, 1000, 50000, UpdateVertexProperties, "Textures/smoke"); // Set the Name of the Particle System Name = "Smoke Particle System"; // Finish loading the Particle System in a separate function call, so if // we want to reset the Particle System later we don't need to completely // re-initialize it, we can just call this function to reset it. LoadParticleSystem(); } /// <summary> /// Load the Particle System Events and any other settings /// </summary> public void LoadParticleSystem() { //----------------------------------------------------------- // TODO: Setup the Particle System to achieve the desired result. // You may change all of the code in this function. It is just // provided to show you how to setup a simple particle system. //----------------------------------------------------------- // Set the Function to use to Initialize new Particles. // The Default Templates include a Particle Initialization Function called // InitializeParticleUsingInitialProperties, which initializes new Particles // according to the settings in the InitialProperties object (see further below). // You can also create your own Particle Initialization Functions as well, as shown with // the InitializeParticleProperties function below. ParticleInitializationFunction = InitializeParticleUsingInitialProperties; //ParticleInitializationFunction = InitializeParticleProperties; // Setup the Initial Properties of the Particles. // These are only applied if using InitializeParticleUsingInitialProperties // as the Particle Initialization Function. InitialProperties.LifetimeMin = 2.0f; InitialProperties.LifetimeMax = 2.0f; InitialProperties.PositionMin = Vector3.Zero; InitialProperties.PositionMax = Vector3.Zero; InitialProperties.VelocityMin = new Vector3(-50, 50, -50); InitialProperties.VelocityMax = new Vector3(50, 100, 50); InitialProperties.RotationMin = new Vector3(0, 0, 0); InitialProperties.RotationMax = new Vector3(0, 0, MathHelper.Pi); InitialProperties.RotationalVelocityMin = new Vector3(0, 0, -MathHelper.Pi); InitialProperties.RotationalVelocityMax = new Vector3(0, 0, MathHelper.Pi); InitialProperties.StartWidthMin = 100; InitialProperties.StartWidthMax = 400; InitialProperties.StartHeightMin = 100; InitialProperties.StartHeightMax = 400; InitialProperties.EndWidthMin = 300; InitialProperties.EndWidthMax = 300; InitialProperties.EndHeightMin = 300; InitialProperties.EndHeightMax = 300; InitialProperties.StartColorMin = Color.Black; InitialProperties.StartColorMax = Color.White; InitialProperties.EndColorMin = Color.Black; InitialProperties.EndColorMax = Color.White; // Remove all Events first so that none are added twice if this function is called again ParticleEvents.RemoveAllEvents(); ParticleSystemEvents.RemoveAllEvents(); // Allow the Particle's Position, Rotation, Width and Height, Color, Transparency, and Orientation to be updated each frame ParticleEvents.AddEveryTimeEvent(UpdateParticlePositionUsingVelocity); ParticleEvents.AddEveryTimeEvent(UpdateParticleRotationUsingRotationalVelocity); ParticleEvents.AddEveryTimeEvent(UpdateParticleWidthAndHeightUsingLerp); ParticleEvents.AddEveryTimeEvent(UpdateParticleColorUsingLerp); // This function must be executed after the Color Lerp function as the Color Lerp will overwrite the Color's // Transparency value, so we give this function an Execution Order of 100 to make sure it is executed last. ParticleEvents.AddEveryTimeEvent(UpdateParticleTransparencyToFadeOutUsingLerp, 100); // Update the particle to face the camera. Do this after updating it's rotation/orientation. ParticleEvents.AddEveryTimeEvent(UpdateParticleToFaceTheCamera, 200); // Set the Particle System's Emitter to toggle on and off every 0.5 seconds ParticleSystemEvents.LifetimeData.EndOfLifeOption = CParticleSystemEvents.EParticleSystemEndOfLifeOptions.Repeat; ParticleSystemEvents.LifetimeData.Lifetime = 1.0f; ParticleSystemEvents.AddTimedEvent(0.0f, UpdateParticleSystemEmitParticlesAutomaticallyOn); ParticleSystemEvents.AddTimedEvent(0.5f, UpdateParticleSystemEmitParticlesAutomaticallyOff); // Setup the Emitter Emitter.ParticlesPerSecond = 50; Emitter.PositionData.Position = new Vector3(0, 0, 0); } /// <summary> /// Example of how to create a Particle Initialization Function /// </summary> /// <param name="cParticle">The Particle to be Initialized</param> public void InitializeParticleProperties(DefaultTexturedQuadParticle cParticle) { //----------------------------------------------------------- // TODO: Initialize all of the Particle's properties here. // If you plan on simply using the default InitializeParticleUsingInitialProperties // Particle Initialization Function (see the LoadParticleSystem() function above), // then you may delete this function all together. //----------------------------------------------------------- // Set the Particle's Lifetime (how long it should exist for) cParticle.Lifetime = 2.0f; // Set the Particle's initial Position to be wherever the Emitter is cParticle.Position = Emitter.PositionData.Position; // Set the Particle's Velocity Vector3 sVelocityMin = new Vector3(-50, 50, -50); Vector3 sVelocityMax = new Vector3(50, 100, 50); cParticle.Velocity = DPSFHelper.RandomVectorBetweenTwoVectors(sVelocityMin, sVelocityMax); // Adjust the Particle's Velocity direction according to the Emitter's Orientation cParticle.Velocity = Vector3.Transform(cParticle.Velocity, Emitter.OrientationData.Orientation); // Give the Particle a random Size // Since we have Size Lerp enabled we must also set the Start and End Size cParticle.Width = cParticle.StartWidth = cParticle.EndWidth = cParticle.Height = cParticle.StartHeight = cParticle.EndHeight = RandomNumber.Next(10, 50); // Give the Particle a random Color // Since we have Color Lerp enabled we must also set the Start and End Color cParticle.Color = cParticle.StartColor = cParticle.EndColor = DPSFHelper.RandomColor(); } //=========================================================== // Particle Update Functions //=========================================================== //----------------------------------------------------------- // TODO: Place your Particle Update functions here, using the // same function prototype as below (i.e. public void FunctionName(DPSFParticle, float)) //----------------------------------------------------------- /// <summary> /// Example of how to create a Particle Event Function /// </summary> /// <param name="cParticle">The Particle to update</param> /// <param name="fElapsedTimeInSeconds">How long it has been since the last update</param> protected void UpdateParticleFunctionExample(DefaultTexturedQuadParticle cParticle, float fElapsedTimeInSeconds) { // Place code to update the Particle here // Example: cParticle.Position += cParticle.Velocity * fElapsedTimeInSeconds; } //=========================================================== // Particle System Update Functions //=========================================================== //----------------------------------------------------------- // TODO: Place your Particle System Update functions here, using // the same function prototype as below (i.e. public void FunctionName(float)) //----------------------------------------------------------- /// <summary> /// Example of how to create a Particle System Event Function /// </summary> /// <param name="fElapsedTimeInSeconds">How long it has been since the last update</param> protected void UpdateParticleSystemFunctionExample(float fElapsedTimeInSeconds) { // Place code to update the Particle System here // Example: Emitter.EmitParticles = true; // Example: SetTexture("TextureAssetName"); } //=========================================================== // Other Particle System Functions //=========================================================== //----------------------------------------------------------- // TODO: Place any other functions here //----------------------------------------------------------- } }
  23. Hi Guys, I have followed many tutorials that are from "www.directxtutorial.com", "www.rastertek.com". I haved learnt much from these tutorials. I am able to load a 3D model. But i want to play my model's animation. I used 3DS Max 2013 to make my model and animation. but how do i use it's animation part in my code to make my object move? I am working on DirectX 11. Help would be appreciated. Regards, Rayyan Tahir.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!