Home
Name Modified Size InfoDownloads / Week
FrafsTestPattern-getstarted.jpg 2017-01-14 389.9 kB
FrafsTestPattern-0557-setup.exe 2014-04-12 3.5 MB
Readme-FrafsTestPattern.txt 2014-04-11 10.5 kB
Totals: 3 Items   3.9 MB 1
** FRAFS Test Pattern **

- A Simple DirectX test pattern generator
- Version 0.5.5.7 10-Apr-2014 by raffriff (Lindsay Bigelow)
- Copyright (c) 2014 (GNU General Public License)
    http://www.gnu.org/licenses/gpl-2.0.html
- Updates & discussion at frapsforum.com

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

PURPOSE:

  Simple DirectX test pattern generator.

  Do you worry if Fraps (or other computer video capture tool)
  is giving you accurate colors? Do you wish you had some kind 
  of standard, recordable source with known colors? 
  Well, that's what this is supposed to do, so you're in luck.

  My desire for this tool came up while thinking about the
  "Fraps dark" problem. http://frapsforum.com/tags/dark/
  Without knowing what the colors are *supposed* to be, how can
  we say we are capturing correctly? We can't. I didn't want
  to write my own program for this, but I didn't see any
  alternatives out there. I wanted it to be stable, accurate,
  easy to install, easy to use, and free.

FEATURES:
  
  * source of consistent color for testing and calibration.
  * high frame rate for benchmark testing and possibly for
    microstutter research.

INSTALLATION:

  Installation is very simple -- run the setup program. If
  you get DirectX error messages on startup, you need to
  update your installation of DirectX 9. Go to the following
  web site:

  * DirectX End-User Runtime Web Installer *
  http://www.microsoft.com/en-us/download/details.aspx?id=35

USAGE:

  FrafsTestPattern is used to calibrate your color accuracy from 
  the source, through video capture, editing, upload and viewing
  online. Include a short segment of this test pattern through
  every stage to verify color accuracy.

  Get a screen shot with Fraps or otherwise, open in a paint
  program, and the pixel values should match the numbers on the
  test pattern. You may see a variation, usually due to the 
  video driver doing "color correction" or "calibration."
  
  By the way, if you run monitor color correction or color 
  management, turn it OFF before doing video capture.
  
  Once you know how accurate the screen shots are, which are more 
  straightforward to display than video, you can capture movies 
  and check your encoder chain for color accuracy. 

  If this test pattern is recorded and played with no color 
  changes, but your games looks too dark, adjust the gamma in
  the game before recording. 

  For more help & discussion, I am available on frapsforum.com

DEFAULT BACKGROUND IMAGE:

  FrafsTestPattern starts with a random background image, from 
  those found in the \imgs\ folder under the installation folder.
  To avoid a long loading time, it stops looking for files after
  it has found about 128, or after a few seconds have elapsed.

  If you want a specific background image, you can either:
    * make that image the only one in the \imgs\ subfolder;
    * use the "file name or path" command line option.
  
  For a plain black BG, move all files out of the \imgs\ subfolder,
  or put a nonexisting file name in the command line.

  Note the background image is just to have something to look at; 
  it is not part of the calibrated test pattern. 

COMMAND LINE OPTIONS:

  When you run it, it starts up in window mode; for full screen
  mode you launch it with " /fullscreen" in the command line.
  The setup program creates shortcuts for both modes.

  The most common command options are:

  /fullscreen 
    * start in full screen mode. Without this switch,
      default action is to show a 640x360 window.

  /window <width>x<height>
    * if set window size (overridden by /fullscreen);
      Example: FrafsTestPattern.exe /window 1280x720
	  If command is not correct, size will be the default 640x360 

  /vsync
    * enable vertical sync. A way to throttle CPU and
      GPU usage. Overridden by /framerate or GPU setting. 

  "file name or path"
    * set a background file by name. Must be the *last*
      option. Must be surrounded with quote marks. If only 
      a name+extension is given, the file is assumed to be 
      in the \imgs\ folder under the installation folder.

      Examples: 
        FrafsTestPattern.exe "car.jpg" (in \imgs\)
        FrafsTestPattern.exe ".\other\the cat.jpg"
        FrafsTestPattern.exe "w:\x\y\z.jpg"

  The other command options are mostly for testing or just
  fooling around:

  /rainbow
    * show a color coded series of bars on the left side,
      like PC Perspective's / NVidia's frametime overlay.

  /travelbar 
    * show a traveling vertical black line.
      (another way to show runt or dropped frames)

  /micromode <number> {where <number> = 1 to 4 } 
    * add a short delay every 17 frames. For
      microstutter research.

      "/micromode 1" gives the shortest delay;
      "/micromode 4" gives the longest.

  /framerate <number> {where <number> = 1 to 1000} 
    * The program tries to run at the given framerate. 

      Examples:
        FrafsTestPattern.exe /framerate 33.3

  /aalevel <level> {where <level> = 0, 2, 4 or 8 } 
    * set full screen multisample antialiasing level;
      default = 0. Only affects the edges of the spinning 
      pyramid, nothing else. Slows the frame rate.

      For > 8xAA antialiasing (if it matters) force it
      through your GPU control panel.

      Examples:
        FrafsTestPattern.exe /aalevel 0
        FrafsTestPattern.exe /aalevel 8

  /nospin 
    * don't show the spinning pyramid. 

  /noframeinfo 
    * hide frame number and running time.

  /nostripes
    * hide resolution test bitmap overlay.

  /nocircle
    * hide aspect ratio test circle overlay.

  /clocksync
    * nudge the timer to keep it in sync with 'real' time.
      Normally the high resolution timer can drift over time, 
      relative to time-of-day or 'system' time. This option 
      uses a trick to keep the high resolution timer in sync.
      The amount of nudging is normally very small, 0.01%.

  /logframetimes 
    * save render times to a "...frametimes.csv" file.
      The file format is compatible with Fraps - and with
      Frafs Bench Viewer, another project of mine. My
      times are very close to Fraps' but not exact.

  The best way to use these options is to make a shortcut or
  batch file. Batch files are easier to edit. Here's a sample:

  [[[[ start .BAT file
    @echo off
    ::** USAGE: list all your favorite BG images. 
    ::   Uncomment the one you want to show today.

    ::** default
    start FrafsTestPattern /fullscreen 

    ::** alternate
    ::start FrafsTestPattern /fullscreen "another one.jpg"

    :: ** others
    ::start FrafsTestPattern /fullscreen "%temp%\example.jpg"

    exit
  ]]]] end .BAT file

TROUBLESHOOTING:

  The first thing to do if you need to trouble shoot is:
  check the log file. The file, named "FrafsTestPattern-log.txt",
  should appear in the folder FrafsTestPattern was installed to,
  or the current working directory during the program's run.
  It is erased and re-written every time the program is run.
  If anything goes wrong there *should* be a log entry on it.

APPRECIATION:

  Spinning pyramid adapted from "Drunken Hyena 3D Objects Tutorial"
  http://www.drunkenhyena.com
       /cgi-bin/view_net_article.pl?chapter=2;article=29
  see http://www.drunkenhyena.com/docs/DHLicense.txt

  Background image code adapted from gameengineer.net
  http://www.gameengineer.net/samples-graphics.html

  Basis of my pre-rendering code
  http://www.codesampler.com/dx9src/dx9src_7.htm

  128 bit math class based on qofmath128.h
  Copyright (C) 2004 Linas Vepstas <linas@linas.org> 
  GNU General Public License
  http://svn.gnucash.org/docs/HEAD/group__Math128.html

    ...with additional code from
    http://www.codef00.com/code/uint128.h
    Copyright (c) 2008 Evan Teran
    Free use is permitted with attribution

  Background image is by Luc Viatour / www.Lucnix.be
  http://en.wikipedia.org/wiki/File:Ara_ararauna_Luc_Viatour.jpg
  licensed under the Creative Commons Attribution 2.0 Generic license

  Alternate backgrounds:
    by Eric Rolph:
      http://en.wikipedia.org/wiki/File:Double-alaskan-rainbow.jpg

    by Alchemist-hp:
      http://en.wikipedia.org/wiki/
      File:Crepuscular_rays_at_Sunset_near_Waterberg_Plateau_edit.jpg
    
    by Jebulon:
      https://en.wikipedia.org/wiki/File:Paonroue.JPG (cropped detail)

I hope this project proves useful to the user community!
- raffriff

History
@version 0.4.0   07-Apr-2013 - rewrote DH 3D Objects tutorial in VB.NET
@version 0.5.0   10-Apr-2013 - rewrote again in C++ due to .NET troubles
@version 0.5.2   13-Apr-2013 - added background image and other refinements
@version 0.5.3   14-Apr-2013 - seem to have an acceptable release candidate
@version 0.5.3.2 16-Apr-2013 - bug fixes; add frame time display & logging
@version 0.5.3.3 18-Apr-2013 - pre-render to a static surface for speed
@version 0.5.3.4 18-Apr-2013 - try to get BG image sizing right
@version 0.5.4.0 22-Apr-2013 - nailed image sizing; new features & images
@version 0.5.4.1 23-Apr-2013 - better random image loading
@version 0.5.4.2 24-Apr-2013 - minor bugfix
@version 0.5.4.3 25-Apr-2013 - random img by default; add res test img
@version 0.5.4.4 27-Apr-2013 - create res test without bitmap
@version 0.5.4.5 28-Apr-2013 - /rainbow and /travelbar options
@version 0.5.5.0 12-May-2013 - /vsync, /framerate and /clocksync options
@version 0.5.5.1 14-May-2013 - bugfixes
@version 0.5.5.2 15-May-2013 - /micromode
@version 0.5.5.3 18-May-2013 - setup changes
@version 0.5.5.4 19-May-2013 - bugfixes
@version 0.5.5.5 16-Jun-2013 - aspect ratio test circle overlay
@version 0.5.5.6 02-Jul-2013 - better black level pattern
@version 0.5.5.7 10-Apr-2014 - /window

Source: Readme-FrafsTestPattern.txt, updated 2014-04-11