Forum
Contact





DirectX using C#
DirectX using C++
DirectX using Visual Basic



Latest Forum posts

 DVD movies through media streamer
  Posted by: VIKIVannessa
  When: 16/04/2014 at 02:25:09

 DVD movies to play on Galaxy Tab 3 10.1
  Posted by: VIKIVannessa
  When: 16/04/2014 at 02:20:51

 Blu-ray to Apple ProRes
  Posted by: Applefly
  When: 12/04/2014 at 00:47:46

 HD H.264 MP4 format
  Posted by: Applefly
  When: 12/04/2014 at 00:43:23

 DVD collection to computer
  Posted by: VIKIVannessa
  When: 04/04/2014 at 07:13:33

 DVD movies to play on Galaxy Tab 3 10.1
  Posted by: VIKIVannessa
  When: 04/04/2014 at 07:11:27

 DVD movies to play on Galaxy Tab 3 10.1
  Posted by: VIKIVannessa
  When: 04/04/2014 at 07:11:27

 DVD Ripper to populate
  Posted by: Applefly
  When: 04/04/2014 at 05:01:35

 kids and family watch DVD
  Posted by: Applefly
  When: 04/04/2014 at 04:59:21

 Blu-ray movie for your lovely kids
  Posted by: VIKIVannessa
  When: 02/04/2014 at 05:47:49

 DVD to DNxHD Converter for Mac
  Posted by: VIKIVannessa
  When: 02/04/2014 at 05:46:04

 play HD Videos on Galaxy
  Posted by: Applefly
  When: 01/04/2014 at 03:16:39

 video on iPhone 6
  Posted by: Applefly
  When: 01/04/2014 at 03:15:18

 MessageBox
  Posted by: net777
  When: 31/03/2014 at 03:34:55

 Play MVI/MKV/AVI on Galaxy NotePro 12.2
  Posted by: VIKIVannessa
  When: 31/03/2014 at 01:30:21

 Create family videos with iMovie on Mac
  Posted by: VIKIVannessa
  When: 31/03/2014 at 01:29:25

 WMV format from DVD
  Posted by: Applefly
  When: 28/03/2014 at 02:55:09

 BD/DVD to FCP X
  Posted by: Applefly
  When: 28/03/2014 at 02:53:35

 Put all kinds videos to Kurio 7S
  Posted by: VIKIVannessa
  When: 27/03/2014 at 01:20:22

 play movie & video on Nexus 6
  Posted by: VIKIVannessa
  When: 27/03/2014 at 01:19:47




Topic: Crosshair and First Person mode



  
Goto parent category
  
Create a new user account


   Crosshair and First Person mode
 Poster : rohitmitra
 Posts: 5
 Country : India
 City: Kolkata

  
Posted by rohitmitra on 08/05/2011 at 00:21:02
Hi, I was trying to convert the game into an FPS style flight sim. The code I used changed the UpdateCamera function as

if (FPS)
            {
                camPos = new Vector3(0, 0, 0);
            }
            else
            {
                camPos = new Vector3(0, 0.1f, 0.6f);
            }
            camPos = Vector3.Transform(camPos, Matrix.CreateFromQuaternion(xWingRotation));
            camPos += xWingPosition;
            camUp = new Vector3(0, 1, 0);
            camUp = Vector3.Transform(camUp, Matrix.CreateFromQuaternion(xWingRotation));
            if (FPS)
            {
                viewMatrix = Matrix.CreateLookAt(camPos, xWingPosition + Vector3.Transform(new Vector3(0,0,-1), Matrix.CreateFromQuaternion(xWingRotation)), camUp);
            }
            else
            {
                viewMatrix = Matrix.CreateLookAt(camPos, xWingPosition, camUp);
            }


I had a check in the process keyboard function whereby if you press the button F, then the game would toggle between First Person and 3rd person

Gloabl:

bool FPS=false;


processKeyboard function:

if (keys.IsKeyDown(Keys.F))
{
    FPS = !FPS;
}


Now this is working fine.
However I wanted to add a crosshair to the first person mode.
I kept a variable
isMoving
to check whether the plane was rotating or not. If it wasn't I would show a simple crosshair joined at the center, while if it was moving then I would show a crosshair that was slightly open at the center. I have both the pictures as crosshair.jpg and crosshairmov.jpg.

Now I used the following code:

Global:

Texture2D crosshairTexture;
Texture2D crosshairmovTexture;


LoadContent function:

            crosshairTexture = Content.Load<Texture2D>("crosshair");
            crosshairmovTexture = Content.Load<Texture2D>("crosshairmov");


Draw function:

            DrawCity();
            DrawModel();
            DrawTargets();
            DrawCrosshair();
            DrawBullets();


And then finally I created the DrawCrosshair function as


            if (FPS)
            {
                VertexPositionTexture[] crosshairVertices = new VertexPositionTexture[6];
                Vector3 crossPos = xWingPosition + Vector3.Transform(new Vector3(0, 0, -1), Matrix.CreateFromQuaternion(xWingRotation));

                crosshairVertices[0] = new VertexPositionTexture(crossPos, new Vector2(1, 1));
                crosshairVertices[1] = new VertexPositionTexture(crossPos, new Vector2(0, 0));
                crosshairVertices[2] = new VertexPositionTexture(crossPos, new Vector2(1, 0));

                crosshairVertices[3] = new VertexPositionTexture(crossPos, new Vector2(1, 1));
                crosshairVertices[4] = new VertexPositionTexture(crossPos, new Vector2(0, 1));
                crosshairVertices[5] = new VertexPositionTexture(crossPos, new Vector2(0, 0));

                effect.CurrentTechnique = effect.Techniques["TexturedNoShading"];
                effect.Parameters["xWorld"].SetValue(Matrix.Identity);
                effect.Parameters["xView"].SetValue(viewMatrix);
                effect.Parameters["xProjection"].SetValue(projectionMatrix);
                if (isMov)
                {
                    effect.Parameters["xTexture"].SetValue(crosshairmovTexture);
                }
                else
                {
                    effect.Parameters["xTexture"].SetValue(crosshairTexture);
                }

                foreach (EffectPass Pass in effect.CurrentTechnique.Passes)
                {
                    Pass.Apply();
                    device.DrawUserPrimitives(PrimitiveType.TriangleList, crosshairVertices, 0, 2, VertexPositionTexture.VertexDeclaration);
                }
            }


However, my crosshair isn't displaying. Any help here would be appreciated
 Poster : Archenon
 Posts: 428
 Country : Romania
 City: Oradea

  
Posted by Archenon on 11/05/2011 at 04:59:14
Drawcrosshair function in line

effect.Parameters["xWorld"].SetValue(Matrix.Identity);

should't contain a translation matrix to the chrosshairs position?

  
Post a new reply
 





Google
 
Web www.riemers.net
If you appreciate the amount of time I spend creating and updating
these pages, feel free to donate -- any amount is welcome !
- Website design & DirectX code : Riemer Grootjans -
©2006 Riemer Grootjans


News
Home
Forum
XNA 2.0 Recipes Book (8)
XNA 3.0 Recipes Book (8)
Downloads
Extra Reading (3)
Matrices: geometrical
Matrix Mathematics
Homogenous matrices
Community Projects (1)
Tutorials (160)
XNA 4.0 using C# (89)
DirectX using C# (54)
Series 1:Terrain (14)
Opening a window
Linking to the Device
Drawing a triangle
Camera
Rotation - Translation
Indices
Terrain creation
Terrain from file
DirectInput
Importing bmp files
Colored vertices
DirectX Light basics
Mesh creation
Mesh lighting
Series 2: Flightsim (19)
Series 3: HLSL (19)
Short Tuts (2)
Resizing problem
Checking Device caps
DirectX using C++ (15)
DirectX using VB (2)