Friday, 2 November 2018

iRacing FOV Calculators

iracing-fov-calculatorsWritten by: Benjamin Brook
            <script>
                        /////////////////////////
                        // calc FOV

                        // given the monitor width and viewing distance, calculate the correct FOV
                        // for a single monitor setup
                        function calcSingleFOV(monitorWidth, viewingDistance)
                        {
                                if(viewingDistance > 0 && monitorWidth > 0) {
                                        return (180/Math.PI) * (2 * Math.atan(monitorWidth / (2 * viewingDistance)));
                                } else {
                                        return 0;
                                }
                        }

                        // given the monitor width and viewing distance, calculate the correct FOV
                        // for a triple monitor, single renderer setup (alligning monitors flat in a row)
                        // assumes all three monitors are same width, if not pass total width into calcSingleFOV()
                        function calcTripleFlatFOV(monitorWidth, viewingDistance)
                        {
                                return calcSingleFOV(monitorWidth * 3, viewingDistance);
                        }

                        // given the monitor width and viewing distance, calculate the correct FOV
                        // for a triple monitor, render seperate setup (angling monitors)
                        function calcTripleAngFOV(monitorWidth, viewingDistance)
                        {
                                return 3 * calcSingleFOV(monitorWidth, viewingDistance);
                        }

                        // given the monitor width and viewing distance, calculate the correct side monitor angle
                        // for a triple monitor, render seperate setup (angling monitors)
                        function calcTripleAngAngle(monitorWidth, viewingDistance)
                        {
                                return calcSingleFOV(monitorWidth, viewingDistance);
                        }


                        /////////////////////////
                        // calc distance

                        // given the FOV you want, calculate the correct viewing distance
                        // for a single monitor setup
                        function calcSingleViewingDist(monitorWidth, targetFOV)
                        {
                                if(targetFOV > 0 && monitorWidth > 0) {
                                        return monitorWidth / (Math.tan((Math.PI/180) * targetFOV / 2) * 2);
                                } else {
                                        return 0;
                                }
                        }
                        // given the monitor width and viewing distance, calculate the correct FOV
                        // for a triple monitor, single renderer setup (alligning monitors flat in a row)
                        // assumes all three monitors are same width, if not pass total width into calcSingleViewingDist()
                        function calcTripleFlatViewingDist(monitorWidth, targetFOV)
                        {
                                return calcSingleViewingDist(monitorWidth*3, targetFOV);
                        }

                        // given the FOV you want, calculate the correct viewing distance
                        // for a triple monitor, render seperate setup (angling monitors)
                        function calcTripleAngDist(monitorWidth, targetFOV)
                        {
                                if(targetFOV > 0 && monitorWidth > 0) {
                                        return monitorWidth / (Math.tan((Math.PI/180) * targetFOV / 6) * 2);
                                } else {
                                        return 0;
                                }
                        }

                        // given the FOV you want, calculate the correct side monitor angle
                        // for a triple monitor, render seperate setup (angling monitors)
                        function calcTripleAngDistAngle(monitorWidth, targetFOV)
                        {
                                return targetFOV/3;
                        }

                </script>

                <script>
                        function handleSingleFOVSubmit(form)
                        {
                                form.FOV.value = (calcSingleFOV(form.monWidth.value, form.viewDist.value)).toFixed(2);
                        }

                        function handleTripleFOVSubmit(form)
                        {
                                form.FOV.value = (calcTripleAngFOV(form.monWidth.value, form.viewDist.value)).toFixed(2);
                                form.sideAng.value = (calcTripleAngAngle(form.monWidth.value, form.viewDist.value)).toFixed(2);
                        }

                        function handleSingleViewDistSubmit(form)
                        {
                                form.viewDist.value = (calcSingleViewingDist(form.monWidth.value, form.FOV.value)).toFixed(2);
                        }

                        function handleTripleViewDistSubmit(form)
                        {
                                form.viewDist.value = (calcTripleAngDist(form.monWidth.value, form.FOV.value)).toFixed(2);
                                form.sideAng.value = (calcTripleAngDistAngle(form.monWidth.value, form.FOV.value)).toFixed(2);
                        }
                </script>

<!doctype html>

iRacing FOV Calc Sample

 
-iRacing Fov Calculators with thanks to David Tucker.
  • Calculators work in cm or mm or inches.
  • Enter your monitors horizontal width and the distance from your eyes to the monitor to calculate the correct field of view for your seating position.
  • Reducing the distance form your monitor to your eyes will increase the field of view.
  • On games that use a vertical FOV instead of a horizontal one, enter the monitors height to calculate the correct FOV.
  • If you have triple monitors configured to render as if they were one large monitor then line the monitors up in a flat row and use the total width of all three monitors to calculate the FOV.
  • If you are rendering a separate image to each monitor, then use the triple monitor calculator below.
  • On a single monitor you want to use the width of the viewable part of the monitor.
  • On a triple monitor, single renderer, setup you want to use the width of the viewable image as well, but include the center bezels.
    That is treat it like one large monitor with some annoying black lines on it.
    Then in your video card you want to enable bezel correction so the central bezels are taken into account when rendering the image.
  • If you choose to render each monitor separately (which I do)
    then only measure the viewable width on the center monitor and don't apply any bezel correction in your graphics card.
    Typically your graphics card will provide two resolutions to you, one with bezel correction turned on and one without it. The smaller horizontal width is the one without bezel correction.
Triple Monitor separate renderer FOV:
 
center monitor width
viewing distance

 
FOV
Side monitor angle
Single Monitor FOV:
 
monitor width
viewing distance

 
FOV
 
 
- VIEWING DISTANCE CALCULATORS - with thanks to David Tucker.
  • David's calculators work in cm or mm or inches.
  • Enter your monitors horizontal width and the desired field of view (not over 179) to calculate the correct viewing distance for your seating position.
  • Reducing the field of view will increase the seating distance.
  • On games that use a vertical FOV instead of a horizontal one, enter the monitors height to calculate the correct distance.
  • If you have triple monitors configured to render as if they were one large monitor then line the monitors up in a flat row and use the total desired FOV of all three monitors to calculate the distance.
  • If you are rendering a separate image to each monitor, then use the triple monitor calculator below.
  • On a single monitor you want to use the width of the viewable part of the monitor
  • On a triple monitor, single renderer, setup you want to use the width of the viewable image as well, but include the center bezels
    That is treat it like one large monitor with some annoying black lines on it.
    Then in your video card you want to enable bezel correction so the central bezels are taken into account when rendering the image.
  • If you choose to render each monitor seperately (which I do)
    then only measure the viewable width on the center monitor and don't apply any bezel correction in your graphics card.
    Typically your graphics card will provide two resolutions to you, one with bezel correction turned on and one without it. The smaller horizontal width is the one without bezel correction.
Triple Monitor seperate renderer
Viewing Distance:
 
center monitor width
desired FOV

 
viewing distance
Side monitor angle
Single Monitor Viewing Distance:
 
monitor width
desired FOV

 
viewing distance

 



from Brook Racing Feed http://bit.ly/2Qf6XfJ
via Brook Racing - iRacing Setups, Reviews and Guides