root/trunk/gliConfig.ini

Revision 5, 18.5 kB (checked in by aliloko, 7 months ago)

First commit

  • Property svn:executable set to *
Line 
1 //////////////////////////////////////////////////////////////
2 //
3 //   GLI - openGL Intercept Configuration file
4 //
5 //////////////////////////////////////////////////////////////
6 //
7 // (Note: all options are case sensetitive)
8 //
9 //////////////////////////////////////////////////////////////
10
11
12 //////////////////////////////////////////////////////////////
13 //
14 //  Log Options:
15 //
16 //////////////////////////////////////////////////////////////
17 //
18 //  LogEnabled      - Enable function call logging
19 //
20 //  LogFlush        - If true, will flush the logger after each OpenGL call is made.
21 //                    This is useful to catch a OpenGL call that crashes the
22 //                    application. This only applies to text file logging. 
23 //
24 //  LogPath         - Path to store the logged files. If not specified, files
25 //                    will be stored relative to the GLI OpenGL dll.
26 //
27 //  LogFileName     - The name of the file to log to (without extension)
28 // 
29 //  LogMaxNumFrames - The maximum number of frames that will be logged.
30 //                    This is useful for retrieving startup information from a
31 //                    application or limiting the file size on apps that make
32 //                    a lot of OpenGL calls (Note: This also affects per-frame logging)
33 // 
34 //  LogFormat       - The format of the log. If equal to "XML" (without quotes)
35 //                    will log in the XML format. Else, the plain text format is used.
36 //
37 //  XMLFormat::XSLFile - When the log format is XML, this option specifies the XSL file
38 //                       to be used (if any). A XSL file usually formats the XML into a
39 //                       readable HTML format.
40 //
41 //  XMLFormat::BaseDir - The base (or source) directory where the XSL file can be found.
42 //
43 //////////////////////////////////////////////////////////////
44
45 LogEnabled = True;
46 LogFlush   = False;
47 //LogPath     = "c:\temp\";
48 LogFileName = "gliInterceptLog"
49
50 //LogMaxNumFrames = 200;
51
52 //LogFormat   = XML;
53
54 XMLFormat
55 {
56   XSLFile = gliIntercept_DHTML2.xsl;
57   BaseDir = "C:\Program Files\GLIntercept0_5\XSL";
58 }
59
60
61
62 //////////////////////////////////////////////////////////////
63 //
64 //  LogPerFrame Options:
65 //
66 //////////////////////////////////////////////////////////////
67 //
68 //  Enabled         - Enable logging per frame. If this is true, instead of
69 //                    logging all OpenGL calls, the below frame start keys will
70 //                    enable the loggers at the start of a frame. The loggers
71 //                    will be disabled when the keys are pressed again and the next
72 //                    frame is reached (see OneFrameOnly for other options).
73 //
74 //                    Output of logging is saved to a directory called
75 //                    Frame_XXXX where XXXX is the frame number that logging
76 //                    started.
77 //
78 //  FrameStartKeys  - The keys used to enable/disable logging. Valid values can be any
79 //                    combination of 0-9,a-z,f1-f12,ctrl,shift,tab,lwin,rwin,
80 //                    print,up,down,left,right,add,sub,insert,delete etc.
81 //
82 //  OneFrameOnly    - If enabled, will only log only one frame per key-press.
83 //                    Loggers will be disabled at the end of the next frame.
84 //
85 //////////////////////////////////////////////////////////////
86
87 LogPerFrame
88 {
89   Enabled = False;
90   FrameStartKeys = (ctrl,shift,f);
91   OneFrameOnly = True;
92 }
93
94
95
96
97 //////////////////////////////////////////////////////////////
98 //
99 //  Input Files:
100 //
101 //////////////////////////////////////////////////////////////
102 //
103 //  GLFunctionDefines - The file to retrieve the OpenGL function defines from.
104 //                      (The text header files that contain the parameters of OpenGL functions to be logged)
105 //
106 //  GLSystemLib       - The full path to the "real" OpenGL system library. This will be assigned automatically
107 //                      so usually does not have to be defined.
108 //
109 //////////////////////////////////////////////////////////////
110
111 GLFunctionDefines = "C:\Program Files\GLIntercept0_5\GLFunctions\gliIncludes.h"
112 //GLSystemLib     = "c:\windows\system32\opengl32.dll"
113
114
115 //////////////////////////////////////////////////////////////
116 //
117 //  Error Checking:
118 //
119 //////////////////////////////////////////////////////////////
120 //
121 //  GLErrorChecking - A OpenGL glGetError() is made after all appropiate OpenGL calls.
122 //                    If an error is detected, the error code is logged to the current text/XML log next
123 //                    to the function that caused the error.
124 //                    (OpenGL Error context is still saved so application invoked glGetError() calls are safe) 
125 //
126 //  ThreadChecking  - While GLIntercept is not currently thread-safe, (ie. So you cannot have multiple render
127 //                    contexts active at the same time) enabling this option will perform basic thread checking.
128 //                    (Will currently check OpenGL calls to see if they are made on the thread with the
129 //                     active render context)
130 //
131 //  BreakOnError    - (used with above) Issue programmer debug breakpoint on an error.
132 //                    Note that glIntercept alters the stack, so to get a valid call stack when debugging
133 //                    you will need to step through some assembly (F10 on VC6) until the stack is restored.
134 //
135 //  LogOnError      - (used with above) Log all OpenGL errors to the GLIntercept error log (gliLog.txt).
136 //
137 //  ExtendedErrorLog - (used with above) Report all available data about the function the produced the error.
138 //                     (ie. Full resolved parameters that were passed to the function are reported.)
139 //                     (Enabling this option will cause a severe slowdown even when no errors are produced. Only
140 //                      enable when debugging specific errors)
141 //
142 //  DebuggerErrorLog - Mirror the contents of the error log (gliLog.txt) file to the debuggers' window.
143 //
144 //////////////////////////////////////////////////////////////
145
146 GLErrorChecking  = True;
147 ThreadChecking   = False;
148 BreakOnError     = False;
149 LogOnError       = True;
150 ExtendedErrorLog = False;
151 DebuggerErrorLog = True;
152
153
154 //////////////////////////////////////////////////////////////
155 //
156 //  Image logging:
157 //
158 //////////////////////////////////////////////////////////////
159 //
160 //  LogEnabled    - Enabled the image logger. OpenGL textures are saved to the directory
161 //                  "Images" under the main log path. Only the texture types specified in
162 //                  SaveGLTypes are saved.
163 //
164 //  RenderCallStateLog - If enabled, each render call issued will list the currently bound
165 //                       textures for all texture stages. (works with text and XML logging)
166 //
167 //  SaveFormats    - The image formats to save the textures in. Current valid formats are
168 //                   PNG,JPG and TGA. Note that more than one format can be specified.
169 //                   (ie. (PNG,TGA) will save all textures twice, once in PNG format, once
170 //                    in TGA format)
171 //
172 //                   Note on image formats:
173 //                   TGA - Is pixel precise and is the fastest save format but is also the biggest.
174 //                         TGA's are also not supported by web browsers (if you use XML with XSL to view the logs).
175 //                   PNG - Is pixel precise and is slower to save but is smaller than TGA.
176 //                         PNG's are brower compatable.
177 //                   JPG - Is a format that does not save alpha and saves colors in a lossy format.
178 //                         It is the smallest format and is slower to save than TGA's.
179 //                         JPG's are brower compatable.
180 //
181 //  FlipXAxis      - The saving of textures is upside-down by default. Using this option will
182 //                   flip the image before saving.
183 //
184 //  TileCubeMaps   - Cube map textures are saved as six individual images. Enabling this option enables
185 //                   the six image to be tiled together (flattened cube shaped) and saved as one image.
186 //
187 //  SaveGLTypes    - The types of OpenGL textures to save. Valid options are 1D,2D,3D and CUBE.
188 //                   Note: NVRect textures use the 2D option.
189 //
190 //  SavePbufferTex - This option enables/disables the saving of textures that are bound from a p-buffer.
191 //                   Note: P-Buffer textures are saved each time a p-buffer is bound to the texture.
192 //                   (ie. no checks are performed to see if the p-buffer has changed)
193 //
194 //  ImageIcon->Enabled    - This enables saving a icon version of all images saved. (useful in XML browser viewing)
195 //
196 //  ImageIcon->SaveFormat - The format of the save icon images (TGA,PNG or JPG)
197 //
198 //  ImageIcon->Size       - The size of the icons to save
199 //
200 //////////////////////////////////////////////////////////////
201
202 ImageLog
203 {
204   LogEnabled  = True;
205
206   RenderCallStateLog = True;
207
208   SaveFormats = PNG;
209   FlipXAxis   = False;
210   TileCubeMaps= True;
211  
212   SaveGLTypes = (1D,2D,3D,CUBE);
213   SavePbufferTex = True;
214
215   ImageIcon
216   {
217     Enabled=true;
218     SaveFormat = JPG;
219     Size = 40;
220   }
221 }
222
223 //////////////////////////////////////////////////////////////
224 //
225 //  Shader logging
226 //
227 //////////////////////////////////////////////////////////////
228 //
229 //  LogEnabled    - Enabled the shader logger. OpenGL shaders/programs are saved to the directory
230 //                  "Shaders" under the main log path. Supported types included ARB/NV vertex/fragment
231 //                  programs and vertex/fragment GLSL shaders/programs. ATI specific vertex/fragment
232 //                  shaders are not supported.
233 //
234 //  RenderCallStateLog - If enabled, each render call issued will list the currently bound
235 //                       shaders (vertex and fragment). (works with text and XML logging)
236 //
237 //  AttachLogState - If enabled, attitional information such as compile/link state and additional
238 //                   driver information may be attached to each shader/program.
239 //                   (Currently only GLSL support). Note that enabling this option may force
240 //                   shaders to complete compiling immediately.
241 //
242 //  ValidatePreRender - If the above AttachLogState is enabled, this option will perform a validation of
243 //                      the shader before each render and append it to the log. Enabling this option will
244 //                      cause the shader to be re-saved at each render call.
245 //                      (GLSL only feature via glValidateProgram)
246 //
247 //  UniformLogPreRender - If the above AttachLogState is enabled, this option will dump all uniforms that
248 //                        are active in the shader before each render. Enabling this option will
249 //                        cause the shader to be re-saved at each render call. (GLSL only feature)
250 //
251 //////////////////////////////////////////////////////////////
252
253 ShaderLog
254 {
255   LogEnabled = True;
256  
257   RenderCallStateLog = True;
258
259   AttachLogState      = True;
260   ValidatePreRender   = False;
261   UniformLogPreRender = False;
262
263   //Future formatting options
264 }
265
266 //////////////////////////////////////////////////////////////
267 //
268 //  Display List logging
269 //
270 //////////////////////////////////////////////////////////////
271 //
272 //  LogEnabled    - Enabled the display list logger. OpenGL display lists are saved to the directory
273 //                  "DisplayLists" under the main log path. If a program has a lot of big glBegin/glEnd
274 //                  sections in display lists, (ie 1000's of glVertex calls) the application may seem
275 //                  un-responsive on startup as all these calls are processed on the list creation.
276 //
277 //////////////////////////////////////////////////////////////
278
279 DisplayListLog
280 {
281   LogEnabled = True;
282
283 }
284
285 //////////////////////////////////////////////////////////////
286 //
287 //  Frame(Buffer) logging
288 //
289 //////////////////////////////////////////////////////////////
290 //
291 //  LogEnabled    - Enabled the frame(buffer) logger. When enabled, each render call can
292 //                  save the pre/post/diff frame buffer (color or depth) to view the changes
293 //                  that the render call made. Frame buffer saves are written to a directory
294 //                  "Frames" under the main log path.
295 //
296 //  SaveFormat    - The image format to save the frame buffer in. Current options are TGA,PNG, and JPG.
297 //                  (see ImageLog::SaveFormats for a decription of the formats)
298 //
299 //  FrameIcon->Enabled - This enables saving a icon version of all images saved. (useful in XML browser viewing)
300 //
301 //  FrameIcon->SaveFormat - The format of the save icon images (TGA,PNG or JPG)
302 //
303 //  FrameIcon->Size    - The size of the icons to save
304 //
305 //  FrameMovie->Enabled - This enables a movie of the "post" and "diff" frame buffers to be saved. If multiple, buffers
306 //                        are saved, they are tiled together. (This is useful to quicky inspect how a frame is composed)
307 //                        The resulting movie is called FrameMovie.avi in the frame buffer directory.
308 //
309 //  FrameMovie->Size    - The width height of the saved frame buffers. (ie. (640,480)) The resulting movie will be
310 //                        larger if multiple buffers are saved at once as they are tiled together.
311 //
312 //  FrameMovie->FrameRate - The frame rate of the saved movie.
313 //
314 //  FrameMovie->Compression  - The list of compression codecs used to save the movie (usually 4 letters).
315 //                             The first valid codec is used. Special codecs are:
316 //                             "menu" -  will display a menu for the user to select a codec.
317 //                             "none" -  will use no compression.
318 //
319 //  ColorBufferLog - The color frame buffer save options. Options can include any combination of
320 //                   (pre,post,diff).
321 //                   pre  -  The frame's color buffer is saved before the render call
322 //
323 //                   post -  The frame's color buffer is saved after the render call
324 //
325 //                   diff -  The difference between the pre and post buffer saves is written.
326 //                           (green represents pixels with no differnce. If the image is red,
327 //                            no image differences were detected)
328 //
329 //  DepthBufferLog - The depth frame buffer save options. Options are the same as in ColorBufferLog.
330 //                   (Note: Depth-buffer saving can be very slow)
331 //
332 //  StencilBufferLog - The stencil frame buffer save options. Options are the same as in ColorBufferLog.
333 //                   (Note: Stencil-buffer saving can be very slow)
334 //
335 //  StencilColors - When saving the stencil buffer, it can be useful to save the buffer with color codes.
336 //                  (ie stencil value 1 = red) This array supplies index color pairs for each stencil
337 //                  value up to 255. The indices must be in order and the colors are in the format
338 //                  AABBGGRR. If an index is missing, it will take the value of the index as the color.
339 //                  (ie. stencil index 128 = (255, 128,128,128) = greyscale values)
340 //
341 //////////////////////////////////////////////////////////////
342
343 FrameLog
344 {
345   LogEnabled = False;
346   SaveFormat = JPG;
347
348   FrameIcon
349   {
350     Enabled = True;
351     SaveFormat = JPG;
352     Size = 40;
353   }
354   FrameMovie
355   {
356     Enabled = False;
357     Size    = (640,480);
358     FrameRate = 15;
359     Compression = ("mpg4","divx","none");
360   }
361
362   ColorBufferLog = (pre,post,diff);
363   //DepthBufferLog = (pre,post,diff);
364
365   //StencilBufferLog = (pre,post,diff);
366   StencilColors = (0,0xFF000000,   //Black
367                    1,0xFFFF0000,   //Blue
368                    2,0xFFFFFF00,   //Light Blue
369                    3,0xFF0000FF,   //Red
370                    4,0xFF00FFFF,   //Yellow
371                    5,0xFFFF00FF,   //Purple
372                    6,0xFF80FFFF,   //Bright Yellow
373                    7,0xFFFFFFFF);  //White (Note green is not used as that is the "diff" color)
374
375 }
376
377
378
379 //////////////////////////////////////////////////////////////
380 //
381 //  Function time logging
382 //
383 //////////////////////////////////////////////////////////////
384 //
385 //  NOTE: It is important to not mis-use the results of this logger. OpenGL is a very pipelined
386 //        API and you can not optimize your code based on how long is spent in each function call.
387 //        This logger is only intended for advanced users to determine where pipeline stalls "MAY"
388 //        have occured and determine speeds of operations such as glReadPixels etc.
389 //
390 //  LogEnabled    - Enabled the timer log. When enabled, the time taken inside each OpenGL
391 //                  function is added to the main log. (if enabled). The logging reports
392 //                  in microseconds (millionth of a second). Only take these results as
393 //                  approximate figures as GLIntercept will add a small amout of overhead.
394 //                  (More overhead may be indicated in the functions wglGetProcAddress,
395 //                   all wgl*(context) functions, glBegin,glEnd,glGetError)
396 //
397 //                  If you are using this logger to determine where pipeline stalls occur,
398 //                  ensure to disable ALL other loggers (image/shader/frame etc) as these
399 //                  loggers may cause pipline stalls. Also disable parameter logging by
400 //                  not defining "GLFunctionDefines" and use flat text logging to get the
401 //                  fastest logging possible. (and hence the most accurate results)
402 //
403 //  LogCutoff    -  The number of microseconds below which the time value is not reported.
404 //
405 //////////////////////////////////////////////////////////////
406
407 TimerLog
408 {
409   LogEnabled = False;
410  
411   LogCutoff  = 20;
412
413 }
414
415
416 //////////////////////////////////////////////////////////////
417 //
418 //  Plugins
419 //
420 //////////////////////////////////////////////////////////////
421 //
422 //  BaseDir    - The base directory where the plugins can be found
423 //
424 //  Plugins    - Listing of all plugins to load (and the locations
425 //               to load from) Under each plugin, plugin specific options
426 //               can be specified.
427 //
428 //
429 //////////////////////////////////////////////////////////////
430
431 PluginData
432 {
433
434   BaseDir = "C:\Program Files\GLIntercept0_5\Plugins";
435
436   Plugins
437   {
438
439     //
440     // Name of plugin   |  Plugin load location
441     // {  Plugin specific options. (See the plugins' config.ini file for options) }
442
443     // OpenGLFreeCamera = ("GLFreeCam/GLFreeCam.dll")
444     // {
445     //    CameraMoveSpeed   = 10.0;
446     // }
447
448   }
449 }
Note: See TracBrowser for help on using the browser.