Results 1 to 4 of 4
  1. #1
    can1357's Avatar
    Join Date
    Dec 2011
    Gender
    male
    Posts
    36
    Reputation
    10
    Thanks
    971
    My Mood
    Happy

    World To Screen function, need help :(

    Heres a video about what is happening:

    W2S Function:
    Code:
    int screencenter[]= {Width /2, Height/2};
    float fov[] = {(float)Width/90.0f, (float)Height/90.0f};
    float* WorldToScreen(Vect3d &WorldLocation, Vect3d &mypos, Vect3d &viewAngles)
    {
        Vect3d vLocal, vTransForm;
    	vForward = new Vect3d();
    	vRight = new Vect3d();
    	vUpward = new Vect3d();
    
        AngleVectors(viewAngles);
        vLocal = SubVectorDist(WorldLocation, mypos);
    
        vTransForm.x = vLocal.dotproduct(*vRight);
        vTransForm.y = vLocal.dotproduct(*vUpward);
        vTransForm.z = vLocal.dotproduct(*vForward);
    
        if (vTransForm.z < 0.01)
            return false;
    
        float ScreenX = screencenter[0] + (screencenter[0] / vTransForm.z * (1 / fov[0])) * vTransForm.x;
        float ScreenY = screencenter[1] - (screencenter[1] / vTransForm.z * (1 / fov[1])) * vTransForm.y;
    	float f [2] = {ScreenX, ScreenY};
    	return f;
    }
    void AngleVectors(Vect3d viewAngles)
    {
        float angle;
        float sr, sp, sy, cr, cp, cy, 
            cpi = (3.141f * 2 / 360);
    
        angle = viewAngles.y * cpi;
        //cpi = same view angles.x isn't
    
        sy = (float)sin(angle);
        cy = (float)cos(angle);
        angle = viewAngles.x * cpi;
        sp = (float)sin(angle);
        cp = (float)cos(angle);
        angle = viewAngles.z * cpi;
        sr = (float)sin(angle);
        cr = (float)cos(angle);
    
        vForward->x = cp * cy;
        vForward->y = cp * sy;
        vForward->z = -sp;
    
    
        vRight->x = (-1 * sr * sp * cy + -1 * cr * -sy);
        vRight->y = (-1 * sr * sp * sy + -1 * cr * cy);
        vRight->z = -1 * sr * cp;
    
    
        vUpward->x = (cr * sp * cy + -sr * -sy);
        vUpward->y = (cr * sp * sy + -sr * cy);
        vUpward->z = cr * cp;
    }
    Last edited by can1357; 07-28-2013 at 06:50 AM.

  2. #2
    can1357's Avatar
    Join Date
    Dec 2011
    Gender
    male
    Posts
    36
    Reputation
    10
    Thanks
    971
    My Mood
    Happy
    bump (10 chars)

  3. #3
    can1357's Avatar
    Join Date
    Dec 2011
    Gender
    male
    Posts
    36
    Reputation
    10
    Thanks
    971
    My Mood
    Happy
    bump, please help.

  4. #4
    can1357's Avatar
    Join Date
    Dec 2011
    Gender
    male
    Posts
    36
    Reputation
    10
    Thanks
    971
    My Mood
    Happy
    bump :/xxxxx

Similar Threads

  1. [Help] Please help me with the function "World to screen"
    By VDV777 in forum C++/C Programming
    Replies: 17
    Last Post: 05-09-2013, 12:31 PM
  2. [Help Request] [ Need Help !! ] Rustler V4 Screen
    By yotwarit123 in forum DayZ Help & Requests
    Replies: 2
    Last Post: 04-13-2013, 08:53 AM
  3. [Help] Warrock black screen news need help
    By kittenguy1 in forum WarRock Discussions
    Replies: 7
    Last Post: 09-02-2010, 11:33 PM
  4. Antikick Function, Need Help
    By killerld in forum C++/C Programming
    Replies: 2
    Last Post: 07-27-2009, 08:20 AM
  5. Need Help Screen shot
    By llvengancell in forum WarRock - International Hacks
    Replies: 4
    Last Post: 05-28-2007, 08:25 AM