Permalink
Browse files

Added example config.options files for both IRG and generic distribut…

…ion.

Added the GPU module back in from the old CVS repository so that Ian
can work on it remotely.  The GPU module is not currently set to
compile by default unless it is enabled in the config.options file.
  • Loading branch information...
1 parent 60fafdc commit 059a0ed1b62beb757484927a25ed5ced58f1c512 @broxtronix broxtronix committed Oct 31, 2006
Showing with 10,363 additions and 5 deletions.
  1. +39 −0 config.options.example
  2. +51 −0 config.options.irg
  3. +4 −2 configure.ac
  4. +25 −0 docs/workbook/camera_module.tex
  5. +1 −1 src/vw/Cartography.h
  6. +207 −0 src/vw/GPU/Display.cc
  7. +61 −0 src/vw/GPU/Display.h
  8. +53 −0 src/vw/GPU/EdgeExtend.h
  9. +365 −0 src/vw/GPU/Expressions.cc
  10. +436 −0 src/vw/GPU/Expressions.h
  11. +116 −0 src/vw/GPU/Filter.cc
  12. +92 −0 src/vw/GPU/Filter.h
  13. +8 −0 src/vw/GPU/Fourier.cc
  14. +15 −0 src/vw/GPU/Fourier.h
  15. +73 −0 src/vw/GPU/GPUImage.cc
  16. +448 −0 src/vw/GPU/GPUImage.h
  17. +699 −0 src/vw/GPU/GPUProgram.cc
  18. +314 −0 src/vw/GPU/GPUProgram.h
  19. +209 −0 src/vw/GPU/GenericShaders.cc
  20. +186 −0 src/vw/GPU/GenericShaders.h
  21. +44 −0 src/vw/GPU/ImageAlgorithms.cc
  22. +64 −0 src/vw/GPU/ImageAlgorithms.h
  23. +9 −0 src/vw/GPU/ImageMath.cc
  24. +105 −0 src/vw/GPU/ImageMath.h
  25. +9 −0 src/vw/GPU/ImageOperators.cc
  26. +84 −0 src/vw/GPU/ImageOperators.h
  27. +219 −0 src/vw/GPU/ImageStatistics.cc
  28. +21 −0 src/vw/GPU/ImageStatistics.h
  29. +66 −0 src/vw/GPU/Interpolation.h
  30. +909 −0 src/vw/GPU/Makefile
  31. +61 −0 src/vw/GPU/Makefile.am
  32. +909 −0 src/vw/GPU/Makefile.in
  33. +217 −0 src/vw/GPU/OpenGLManager.cc
  34. +108 −0 src/vw/GPU/OpenGLManager.h
  35. +280 −0 src/vw/GPU/SimpleTransforms.cc
  36. +286 −0 src/vw/GPU/SimpleTransforms.h
  37. +209 −0 src/vw/GPU/TexAlloc.cc
  38. +42 −0 src/vw/GPU/TexAlloc.h
  39. +30 −0 src/vw/GPU/TexBlock.cc
  40. +68 −0 src/vw/GPU/TexBlock.h
  41. +221 −0 src/vw/GPU/TexObj.cc
  42. +122 −0 src/vw/GPU/TexObj.h
  43. +55 −0 src/vw/GPU/Timer.cc
  44. +38 −0 src/vw/GPU/Timer.h
  45. +70 −0 src/vw/GPU/TokenReplacer.cc
  46. +29 −0 src/vw/GPU/TokenReplacer.h
  47. +11 −0 src/vw/GPU/Transform.cc
  48. +345 −0 src/vw/GPU/Transform.h
  49. +57 −0 src/vw/GPU/UtilityTimer.cc
  50. +144 −0 src/vw/GPU/filters/SeperableConvolution.cpp
  51. +16 −0 src/vw/GPU/filters/SeperableConvolution.h
  52. +17 −0 src/vw/GPU/shaders/Filter/convolution-columns_cg_frag_rgba
  53. +15 −0 src/vw/GPU/shaders/Filter/convolution-columns_gl_frag_rgba
  54. +17 −0 src/vw/GPU/shaders/Filter/convolution-rows_cg_frag_rgba
  55. +15 −0 src/vw/GPU/shaders/Filter/convolution-rows_gl_frag_rgba
  56. +21 −0 src/vw/GPU/shaders/Filter/convolution_cg_frag_rgba
  57. +19 −0 src/vw/GPU/shaders/Filter/convolution_gl_frag_rgba
  58. +7 −0 src/vw/GPU/shaders/Identity_cg_frag_rgba
  59. +6 −0 src/vw/GPU/shaders/Identity_gl_frag_rgba
  60. +9 −0 src/vw/GPU/shaders/ImageAlgorithms/clamp-1i2f_cg_frag_rgba
  61. +9 −0 src/vw/GPU/shaders/ImageAlgorithms/clamp-1i2f_gl_frag_rgba
  62. +7 −0 src/vw/GPU/shaders/ImageAlgorithms/copy-1i0f_cg_frag_rgba
  63. +6 −0 src/vw/GPU/shaders/ImageAlgorithms/copy-1i0f_gl_frag_rgba
  64. +11 −0 src/vw/GPU/shaders/ImageAlgorithms/fill-1i4f_cg_frag_rgba
  65. +9 −0 src/vw/GPU/shaders/ImageAlgorithms/fill-1i4f_gl_frag_rgba
  66. +11 −0 src/vw/GPU/shaders/ImageAlgorithms/normalize-1i3f_cg_frag_rgba
  67. +11 −0 src/vw/GPU/shaders/ImageAlgorithms/normalize-1i3f_gl_frag_rgba
  68. +15 −0 src/vw/GPU/shaders/ImageAlgorithms/threshold-1i3f_cg_frag_r
  69. +26 −0 src/vw/GPU/shaders/ImageAlgorithms/threshold-1i3f_cg_frag_rgb
  70. +31 −0 src/vw/GPU/shaders/ImageAlgorithms/threshold-1i3f_cg_frag_rgba
  71. +16 −0 src/vw/GPU/shaders/ImageAlgorithms/threshold-1i3f_gl_frag_r
  72. +26 −0 src/vw/GPU/shaders/ImageAlgorithms/threshold-1i3f_gl_frag_rgb
  73. +29 −0 src/vw/GPU/shaders/ImageAlgorithms/threshold-1i3f_gl_frag_rgba
  74. +7 −0 src/vw/GPU/shaders/ImageMath/FUNC_1i0f_gl_frag_rgba
  75. +7 −0 src/vw/GPU/shaders/ImageMath/abs-1i0f_cg_frag_rgba
  76. +7 −0 src/vw/GPU/shaders/ImageMath/abs-1i0f_gl_frag_rgba
  77. +7 −0 src/vw/GPU/shaders/ImageMath/abs_1i0f_gl_frag_rgba
  78. +7 −0 src/vw/GPU/shaders/ImageMath/acos-1i0f_cg_frag_rgba
  79. +7 −0 src/vw/GPU/shaders/ImageMath/acos-1i0f_gl_frag_rgba
  80. +7 −0 src/vw/GPU/shaders/ImageMath/acos_1i0f_gl_frag_rgba
  81. +8 −0 src/vw/GPU/shaders/ImageMath/acosh-1i0f_cg_frag_rgba
  82. +8 −0 src/vw/GPU/shaders/ImageMath/acosh-1i0f_gl_frag_rgba
  83. +7 −0 src/vw/GPU/shaders/ImageMath/asin-1i0f_cg_frag_rgba
  84. +7 −0 src/vw/GPU/shaders/ImageMath/asin-1i0f_gl_frag_rgba
  85. +7 −0 src/vw/GPU/shaders/ImageMath/asin_1i0f_gl_frag_rgba
  86. +8 −0 src/vw/GPU/shaders/ImageMath/asinh-1i0f_cg_frag_rgba
  87. +8 −0 src/vw/GPU/shaders/ImageMath/asinh-1i0f_gl_frag_rgba
  88. +7 −0 src/vw/GPU/shaders/ImageMath/atan-1i0f_cg_frag_rgba
  89. +7 −0 src/vw/GPU/shaders/ImageMath/atan-1i0f_gl_frag_rgba
  90. +8 −0 src/vw/GPU/shaders/ImageMath/atan2-FI-1i1f_cg_frag_rgba
  91. +77 −0 src/vw/GPU/shaders/ImageMath/atan2-FI-1i1f_gl_frag_rgba
  92. +8 −0 src/vw/GPU/shaders/ImageMath/atan2-IF-1i1f_cg_frag_rgba
  93. +77 −0 src/vw/GPU/shaders/ImageMath/atan2-IF-1i1f_gl_frag_rgba
  94. +8 −0 src/vw/GPU/shaders/ImageMath/atan2-II-2i0f_cg_frag_rgba
  95. +77 −0 src/vw/GPU/shaders/ImageMath/atan2-II-2i0f_gl_frag_rgba
  96. +8 −0 src/vw/GPU/shaders/ImageMath/atanh-1i0f_cg_frag_rgba
  97. +8 −0 src/vw/GPU/shaders/ImageMath/atanh-1i0f_gl_frag_rgba
  98. +7 −0 src/vw/GPU/shaders/ImageMath/cbrt-1i0f_cg_frag_rgba
  99. +7 −0 src/vw/GPU/shaders/ImageMath/cbrt-1i0f_gl_frag_rgba
  100. +7 −0 src/vw/GPU/shaders/ImageMath/cbrt_1i0f_gl_frag_rgba
  101. +7 −0 src/vw/GPU/shaders/ImageMath/ceil-1i0f_cg_frag_rgba
  102. +7 −0 src/vw/GPU/shaders/ImageMath/ceil-1i0f_gl_frag_rgba
  103. +7 −0 src/vw/GPU/shaders/ImageMath/ceil_1i0f_gl_frag_rgba
  104. +21 −0 src/vw/GPU/shaders/ImageMath/copysign-FI-1i1f_gl_frag_rgba
  105. +24 −0 src/vw/GPU/shaders/ImageMath/copysign-IF-1i1f_cg_frag_rgba
  106. +21 −0 src/vw/GPU/shaders/ImageMath/copysign-IF-1i1f_gl_frag_rgba
  107. +24 −0 src/vw/GPU/shaders/ImageMath/copysign-II-2i0f_cg_frag_rgba
  108. +21 −0 src/vw/GPU/shaders/ImageMath/copysign-II-2i0f_gl_frag_rgba
  109. +7 −0 src/vw/GPU/shaders/ImageMath/cos-1i0f_cg_frag_rgba
  110. +7 −0 src/vw/GPU/shaders/ImageMath/cos-1i0f_gl_frag_rgba
  111. +7 −0 src/vw/GPU/shaders/ImageMath/cos_1i0f_gl_frag_rgba
  112. +7 −0 src/vw/GPU/shaders/ImageMath/cosh-1i0f_cg_frag_rgba
  113. +9 −0 src/vw/GPU/shaders/ImageMath/cosh-1i0f_gl_frag_rgba
  114. +7 −0 src/vw/GPU/shaders/ImageMath/exp-1i0f_cg_frag_rgba
  115. +7 −0 src/vw/GPU/shaders/ImageMath/exp-1i0f_gl_frag_rgba
  116. +7 −0 src/vw/GPU/shaders/ImageMath/exp2-1i0f_cg_frag_rgba
  117. +7 −0 src/vw/GPU/shaders/ImageMath/exp2-1i0f_gl_frag_rgba
  118. +7 −0 src/vw/GPU/shaders/ImageMath/exp2_1i0f_gl_frag_rgba
  119. +9 −0 src/vw/GPU/shaders/ImageMath/exp_1i0f_gl_frag_rgba
  120. +7 −0 src/vw/GPU/shaders/ImageMath/expm1-1i0f_cg_frag_rgba
  121. +7 −0 src/vw/GPU/shaders/ImageMath/expm1-1i0f_gl_frag_rgba
  122. +7 −0 src/vw/GPU/shaders/ImageMath/expm1_1i0f_gl_frag_rgba
  123. +9 −0 src/vw/GPU/shaders/ImageMath/fdim-2i0f_gl_frag_rgba
  124. +8 −0 src/vw/GPU/shaders/ImageMath/fdim-FI-1i1f_cg_frag_rgba
  125. +9 −0 src/vw/GPU/shaders/ImageMath/fdim-FI-1i1f_gl_frag_rgba
  126. +8 −0 src/vw/GPU/shaders/ImageMath/fdim-IF-1i1f_cg_frag_rgba
  127. +9 −0 src/vw/GPU/shaders/ImageMath/fdim-IF-1i1f_gl_frag_rgba
  128. +8 −0 src/vw/GPU/shaders/ImageMath/fdim-II-2i0f_cg_frag_rgba
  129. +9 −0 src/vw/GPU/shaders/ImageMath/fdim-II-2i0f_gl_frag_rgba
  130. +7 −0 src/vw/GPU/shaders/ImageMath/floor-1i0f_cg_frag_rgba
  131. +7 −0 src/vw/GPU/shaders/ImageMath/floor-1i0f_gl_frag_rgba
  132. +7 −0 src/vw/GPU/shaders/ImageMath/floor_1i0f_gl_frag_rgba
  133. +8 −0 src/vw/GPU/shaders/ImageMath/hypot-FI-1i1f_cg_frag_rgba
  134. +7 −0 src/vw/GPU/shaders/ImageMath/hypot-FI-1i1f_gl_frag_rgba
  135. +8 −0 src/vw/GPU/shaders/ImageMath/hypot-IF-1i1f_cg_frag_rgba
  136. +7 −0 src/vw/GPU/shaders/ImageMath/hypot-IF-1i1f_gl_frag_rgba
  137. +8 −0 src/vw/GPU/shaders/ImageMath/hypot-II-2i0f_cg_frag_rgba
  138. +7 −0 src/vw/GPU/shaders/ImageMath/hypot-II-2i0f_gl_frag_rgba
  139. +7 −0 src/vw/GPU/shaders/ImageMath/log-1i0f_cg_frag_rgba
  140. +7 −0 src/vw/GPU/shaders/ImageMath/log-1i0f_gl_frag_rgba
  141. +7 −0 src/vw/GPU/shaders/ImageMath/log10-1i0f_cg_frag_rgba
  142. +7 −0 src/vw/GPU/shaders/ImageMath/log10-1i0f_gl_frag_rgba
  143. +7 −0 src/vw/GPU/shaders/ImageMath/log10_1i0f_gl_frag_rgba
  144. +7 −0 src/vw/GPU/shaders/ImageMath/log1p-1i0f_cg_frag_rgba
  145. +7 −0 src/vw/GPU/shaders/ImageMath/log1p-1i0f_gl_frag_rgba
  146. +7 −0 src/vw/GPU/shaders/ImageMath/log1p_1i0f_gl_frag_rgba
  147. +7 −0 src/vw/GPU/shaders/ImageMath/log_1i0f_gl_frag_rgba
  148. +8 −0 src/vw/GPU/shaders/ImageMath/pow-FI-1i1f_cg_frag_rgba
  149. +7 −0 src/vw/GPU/shaders/ImageMath/pow-FI-1i1f_gl_frag_rgba
  150. +8 −0 src/vw/GPU/shaders/ImageMath/pow-IF-1i1f_cg_frag_rgba
  151. +7 −0 src/vw/GPU/shaders/ImageMath/pow-IF-1i1f_gl_frag_rgba
  152. +8 −0 src/vw/GPU/shaders/ImageMath/pow-II-2i0f_cg_frag_rgba
  153. +9 −0 src/vw/GPU/shaders/ImageMath/pow-II-2i0f_gl_frag_rgba
  154. +7 −0 src/vw/GPU/shaders/ImageMath/pow-IS-1i1f_gl_frag_rgba
  155. +7 −0 src/vw/GPU/shaders/ImageMath/pow-SI-1i1f_gl_frag_rgba
  156. +7 −0 src/vw/GPU/shaders/ImageMath/round-1i0f_cg_frag_rgba
  157. +21 −0 src/vw/GPU/shaders/ImageMath/round-1i0f_gl_frag_rgba
  158. +7 −0 src/vw/GPU/shaders/ImageMath/sin-1i0f_cg_frag_rgba
  159. +7 −0 src/vw/GPU/shaders/ImageMath/sin-1i0f_gl_frag_rgba
  160. +7 −0 src/vw/GPU/shaders/ImageMath/sin_1i0f_gl_frag_rgba
  161. +7 −0 src/vw/GPU/shaders/ImageMath/sinh-1i0f_cg_frag_rgba
  162. +9 −0 src/vw/GPU/shaders/ImageMath/sinh-1i0f_gl_frag_rgba
  163. +7 −0 src/vw/GPU/shaders/ImageMath/sqrt-1i0f_cg_frag_rgba
  164. +7 −0 src/vw/GPU/shaders/ImageMath/sqrt-1i0f_gl_frag_rgba
  165. +7 −0 src/vw/GPU/shaders/ImageMath/sqrt_1i0f_gl_frag_rgba
  166. +7 −0 src/vw/GPU/shaders/ImageMath/tan-1i0f_cg_frag_rgba
  167. +7 −0 src/vw/GPU/shaders/ImageMath/tan-1i0f_gl_frag_rgba
  168. +7 −0 src/vw/GPU/shaders/ImageMath/tan_1i0f_gl_frag_rgba
  169. +7 −0 src/vw/GPU/shaders/ImageMath/tanh-1i0f_cg_frag_rgba
  170. +10 −0 src/vw/GPU/shaders/ImageMath/tanh-1i0f_gl_frag_rgba
  171. +8 −0 src/vw/GPU/shaders/ImageOperators/add-IF-1i1f_cg_frag_rgba
  172. +7 −0 src/vw/GPU/shaders/ImageOperators/add-IF-1i1f_gl_frag_rgba
  173. +8 −0 src/vw/GPU/shaders/ImageOperators/add-II-2i0f_cg_frag_rgba
  174. +7 −0 src/vw/GPU/shaders/ImageOperators/add-II-2i0f_gl_frag_rgba
  175. +8 −0 src/vw/GPU/shaders/ImageOperators/divide-FI-1i1f_cg_frag_rgba
  176. +7 −0 src/vw/GPU/shaders/ImageOperators/divide-FI-1i1f_gl_frag_rgba
  177. +8 −0 src/vw/GPU/shaders/ImageOperators/divide-IF-1i1f_cg_frag_rgba
  178. +7 −0 src/vw/GPU/shaders/ImageOperators/divide-IF-1i1f_gl_frag_rgba
  179. +8 −0 src/vw/GPU/shaders/ImageOperators/divide-II-2i0f_cg_frag_rgba
  180. +7 −0 src/vw/GPU/shaders/ImageOperators/divide-II-2i0f_gl_frag_rgba
  181. +8 −0 src/vw/GPU/shaders/ImageOperators/multiply-IF-1i1f_cg_frag_rgba
  182. +7 −0 src/vw/GPU/shaders/ImageOperators/multiply-IF-1i1f_gl_frag_rgba
  183. +8 −0 src/vw/GPU/shaders/ImageOperators/multiply-II-2i0f_cg_frag_rgba
  184. +7 −0 src/vw/GPU/shaders/ImageOperators/multiply-II-2i0f_gl_frag_rgba
  185. +8 −0 src/vw/GPU/shaders/ImageOperators/subtract-FI-1i1f_cg_frag_rgba
  186. +7 −0 src/vw/GPU/shaders/ImageOperators/subtract-FI-1i1f_gl_frag_rgba
  187. +8 −0 src/vw/GPU/shaders/ImageOperators/subtract-IF-1i1f_cg_frag_rgba
  188. +7 −0 src/vw/GPU/shaders/ImageOperators/subtract-IF-1i1f_gl_frag_rgba
  189. +8 −0 src/vw/GPU/shaders/ImageOperators/subtract-II-2i0f_cg_frag_rgba
  190. +7 −0 src/vw/GPU/shaders/ImageOperators/subtract-II-2i0f_gl_frag_rgba
  191. +8 −0 src/vw/GPU/shaders/ImageStatistics/max-channels_cg_frag_r
  192. +12 −0 src/vw/GPU/shaders/ImageStatistics/max-channels_cg_frag_rgb
  193. +13 −0 src/vw/GPU/shaders/ImageStatistics/max-channels_cg_frag_rgba
  194. +11 −0 src/vw/GPU/shaders/ImageStatistics/max-channels_gl_frag_r
  195. +13 −0 src/vw/GPU/shaders/ImageStatistics/max-channels_gl_frag_rgb
  196. +14 −0 src/vw/GPU/shaders/ImageStatistics/max-channels_gl_frag_rgba
  197. +21 −0 src/vw/GPU/shaders/ImageStatistics/max-quad_cg_frag_rgba
  198. +21 −0 src/vw/GPU/shaders/ImageStatistics/max-quad_gl_frag_rgba
  199. +9 −0 src/vw/GPU/shaders/ImageStatistics/min-channels_cg_frag_r
  200. +12 −0 src/vw/GPU/shaders/ImageStatistics/min-channels_cg_frag_rgb
  201. +13 −0 src/vw/GPU/shaders/ImageStatistics/min-channels_cg_frag_rgba
  202. +7 −0 src/vw/GPU/shaders/ImageStatistics/min-channels_gl_frag_r
  203. +14 −0 src/vw/GPU/shaders/ImageStatistics/min-channels_gl_frag_rgb
  204. +14 −0 src/vw/GPU/shaders/ImageStatistics/min-channels_gl_frag_rgba
  205. +21 −0 src/vw/GPU/shaders/ImageStatistics/min-quad_cg_frag_rgba
  206. +21 −0 src/vw/GPU/shaders/ImageStatistics/min-quad_gl_frag_rgba
  207. +8 −0 src/vw/GPU/shaders/ImageStatistics/sum-channels_cg_frag_r
  208. +8 −0 src/vw/GPU/shaders/ImageStatistics/sum-channels_cg_frag_rgb
  209. +8 −0 src/vw/GPU/shaders/ImageStatistics/sum-channels_cg_frag_rgba
  210. +11 −0 src/vw/GPU/shaders/ImageStatistics/sum-channels_gl_frag_r
  211. +13 −0 src/vw/GPU/shaders/ImageStatistics/sum-channels_gl_frag_rgb
  212. +14 −0 src/vw/GPU/shaders/ImageStatistics/sum-channels_gl_frag_rgba
  213. +14 −0 src/vw/GPU/shaders/ImageStatistics/sum-quad_cg_frag_rgba
  214. +20 −0 src/vw/GPU/shaders/ImageStatistics/sum-quad_gl_frag_rgba
  215. +40 −0 src/vw/GPU/shaders/Interpolation/interpolation-bicubic_cg_frag_rgba
  216. +38 −0 src/vw/GPU/shaders/Interpolation/interpolation-bicubic_gl_frag_rgba
  217. +14 −0 src/vw/GPU/shaders/Interpolation/interpolation-bilinear_cg_frag_rgba
  218. +12 −0 src/vw/GPU/shaders/Interpolation/interpolation-bilinear_gl_frag_rgba
  219. +7 −0 src/vw/GPU/shaders/Interpolation/interpolation-nearest-pixel_cg_frag_rgba
  220. +8 −0 src/vw/GPU/shaders/Interpolation/interpolation-nearest-pixel_gl_frag_rgba
  221. +12 −0 src/vw/GPU/shaders/SimpleTransforms/PackGrayIntoRGBA_gl_frag_rgba
  222. +7 −0 src/vw/GPU/shaders/SimpleTransforms/SelectChannel-A_gl_frag_rgba
  223. +7 −0 src/vw/GPU/shaders/SimpleTransforms/SelectChannel-B_gl_frag_rgba
  224. +7 −0 src/vw/GPU/shaders/SimpleTransforms/SelectChannel-G_gl_frag_rgba
  225. +7 −0 src/vw/GPU/shaders/SimpleTransforms/SelectChannel-R_gl_frag_rgba
  226. +6 −0 src/vw/GPU/shaders/SimpleTransforms/UnpackGrayFromRGBA-R_gl_frag_rgba
  227. +7 −0 src/vw/GPU/shaders/SimpleTransforms/transpose-1i0f_cg_frag_rgba
  228. +6 −0 src/vw/GPU/shaders/SimpleTransforms/transpose-1i0f_gl_frag_rgba
  229. +10 −0 src/vw/GPU/shaders/User/expression1-1i3f_cg_frag_rgba
  230. +11 −0 src/vw/GPU/shaders/User/expression1-1i3f_gl_frag_rgba
  231. +43 −0 src/vw/GPU/shaders/User/transform-sine-1i2f_cg_frag_rgba
  232. +45 −0 src/vw/GPU/tests/Makefile.am
  233. +7 −2 src/vw/Makefile.am
View
@@ -0,0 +1,39 @@
+#! /bin/sh
+
+### Configure Options (Alternative to using command line syntax: --enable-FEATURE=[val] )
+#
+# These options allow you modify the basic behavior of the build environment.
+
+ENABLE_DEBUG=no
+ENABLE_OPTIMIZE=yes
+ENABLE_LIBTOOL=yes
+
+### Module Configuration
+#
+# Uncomment the following lines to explicitly enable (or disable) the
+# default module building behavior of the build system. These options
+# override the default behavior (which is to build most modules).
+# Note that the module may not be built if its software dependencies
+# cannot be found. Look at the output from ./configure to see whether
+# the module will ultimately be built.
+
+# ENABLE_MODULE_MATH=yes
+# ENABLE_MODULE_MOSAIC=yes
+# ENABLE_MODULE_CAMERA=yes
+# ENABLE_MODULE_STEREO=yes
+# ENABLE_MODULE_CARTOGRAPHY=yes
+# ENABLE_MODULE_GPU=yes
+
+
+### Package Base Paths
+#
+# Set these to the directories that contain lib/include directories
+# for packages in non-standard locations.
+
+PKG_PATHS=" \
+ $IRGPKG_DIR/glew \
+ $IRGPKG_DIR/cg \
+"
+
+
+
View
@@ -0,0 +1,51 @@
+#! /bin/sh
+
+### IRG Specific Convenience Paths
+
+IRG_ARCH_RAW="`uname -m`_`uname -s`_gcc`gcc -dumpversion | cut -f-2 -d .`"
+IRG_ARCH=`echo $IRG_ARCH_RAW | awk '{ print tolower( $0 ) }'`
+IRGPKG_DIR=/irg/packages/$IRG_ARCH
+
+### Configure Options (Alternative to using command line syntax: --enable-FEATURE=[val] )
+#
+# These options allow you modify the basic behavior of the build environment.
+
+ENABLE_DEBUG=no
+ENABLE_OPTIMIZE=yes
+ENABLE_LIBTOOL=yes
+ENABLE_CUSTOM_ARCH_NAME=$IRG_ARCH
+
+### Module Configuration
+#
+# Uncomment the following lines to explicitly enable (or disable) the
+# default module building behavior of the build system. These options
+# override the default behavior (which is to build most modules).
+# Note that the module may not be built if its software dependencies
+# cannot be found. Look at the output from ./configure to see whether
+# the module will ultimately be built.
+
+# ENABLE_MODULE_MATH=yes
+# ENABLE_MODULE_MOSAIC=yes
+# ENABLE_MODULE_CAMERA=yes
+# ENABLE_MODULE_STEREO=yes
+# ENABLE_MODULE_CARTOGRAPHY=yes
+# ENABLE_MODULE_GPU=yes
+
+### Package Base Paths
+#
+# Set these to the directories that contain lib/include directories
+# for packages in non-standard locations.
+
+PKG_PATHS=" \
+ $IRGPKG_DIR/vxl-1.5.1 \
+ $IRGPKG_DIR/openexr-1.4.0 \
+ $IRGPKG_DIR/boost_1_33_1 \
+ $IRGPKG_DIR/LAPACK \
+ $IRGPKG_DIR/glew \
+ $IRGPKG_DIR/glew \
+ $IRGPKG_DIR/cg \
+ /usr/X11R6 \
+"
+
+
+
View
@@ -256,10 +256,10 @@ AX_MODULE(CAMERA, [src/vw/Camera/libvwCamera.la], yes, [IMAGE MATH])
AX_MODULE(MOSAIC, [src/vw/Mosaic/libvwMosaic.la], yes, [VW PTHREADS BOOST_PROGRAM_OPTIONS BOOST_FILESYSTEM])
AX_MODULE(STEREO, [src/vw/Stereo/libvwStereo.la], $HAVE_PKG_STEREO_SRC, [STEREO_SRC VW PTHREADS BOOST_THREAD])
AX_MODULE(CARTOGRAPHY, [src/vw/Cartography/libvwCartography.la], yes, [VW GDAL PROJ4])
+AX_MODULE(GPU, [src/vw/GPU/libvwGPU.la], no, [VW GL GLU GLUT], [CG PTHREADS])
#AX_MODULE(INTERESTPOINT, InterestPoint, no, [VW])
#AX_MODULE(HDR, HDR, no, [VW])
-#AX_MODULE(GPU, GPU, no, [GL GLU GLUT GLEW VW], [CG PTHREADS])
#AX_MODULE(DISPLAY, Display, no, [BOOST_THREAD GL FREEGLUT VW])
#AX_MODULE(TEXTURE, Texture, no, [VW])
@@ -274,10 +274,10 @@ AM_CONDITIONAL(MAKE_MODULE_VW, [test "$MAKE_MODULE_VW" = "yes"])
AM_CONDITIONAL(MAKE_MODULE_MOSAIC, [test "$MAKE_MODULE_MOSAIC" = "yes"])
AM_CONDITIONAL(MAKE_MODULE_STEREO, [test "$MAKE_MODULE_STEREO" = "yes"])
AM_CONDITIONAL(MAKE_MODULE_CARTOGRAPHY, [test "$MAKE_MODULE_CARTOGRAPHY" = "yes"])
+AM_CONDITIONAL(MAKE_MODULE_GPU, [test "$MAKE_MODULE_GPU" = "yes"])
#AM_CONDITIONAL(MAKE_MODULE_INTERESTPOINT, [test "$MAKE_MODULE_INTERESTPOINT" = "yes"])
#AM_CONDITIONAL(MAKE_MODULE_HDR, [test "$MAKE_MODULE_HDR" = "yes"])
-#AM_CONDITIONAL(MAKE_MODULE_GPU, [test "$MAKE_MODULE_GPU" = "yes"])
#AM_CONDITIONAL(MAKE_MODULE_DISPLAY, [test "$MAKE_MODULE_DISPLAY" = "yes"])
#AM_CONDITIONAL(MAKE_MODULE_CAMERA, [test "$MAKE_MODULE_CAMERA" = "yes"])
#AM_CONDITIONAL(MAKE_MODULE_TEXTURE, [test "$MAKE_MODULE_TEXTURE" = "yes"])
@@ -305,6 +305,8 @@ AC_CONFIG_FILES([ \
src/vw/Camera/tests/Makefile \
src/vw/Mosaic/Makefile \
src/vw/Mosaic/tests/Makefile \
+ src/vw/GPU/Makefile \
+ src/vw/GPU/tests/Makefile \
src/vw/Cartography/Makefile \
src/vw/Cartography/tests/Makefile \
])
@@ -0,0 +1,25 @@
+\chapter{The Camera Module}
+
+Cameras capture images. Without them, the field of computer vision would not exist. Whereas basic image processing algorithms operate on the 2-dimensional space of image pixels, most {\em computer vision} algorithms are distinguished by the fact that they will at some point tie the processed pixel data to objects in the real world for the purposed of measurement, tracking, or display. This can only be done by modeling the geometric and physical properties of the device that was used to capture the original image. This is the purpose of the camera module.
+
+This module includes several built-in camera models for pinhole and line-scan imagers and a set of generic functions for linearizing (removing lens distortion) and epipolar rectifying (e.g. for stereo) camera models where these operations are relevant. The user can provide their own camera model by inheriting from the {\tt CameraModel} abstract base class. Finally, the camera module provides a basic set of tools for working with images from real-world camera systems: bayer pattern filtering and EXIF parsing. We will cover all of these in detail, however we begin this chapter by establishing some terminology while exploring one of the most ubiquitous camera models around: the pinhole camera model.
+
+\section{The Pinhole Camera Model}
+The pinhole camera model is perhaps the most familiar to us, and we will use it here to help us establish some terminology that will be used throughout the rest of this chapter. Please note that this model is somewhat simplistic; many of the non-ideal characteristics of a real-world optical system (e.g. lens distortion) are not modeled in this simple example, but should be modeled in the general case. We will talk more about this in the sections below.
+
+\subsection{Perspective Projection}
+
+If the coordinates of ${\bf P}$ are $(x,y,z)$, then the position of the point on the imager can be determined by projecting it onto the plane $ z = +f$:
+
+$$u = \frac{f}{\sigma} \left(\frac{x}{z}\right) + p_u$$
+$$v = \frac{f}{\sigma} \left(\frac{y}{z}\right) + p_v$$
+
+Here, $f$ is the focal length of the imager in meters, $\sigma$ is the size of a pixel in {\em m/pixel}, and $(p_u, p_v)$ are the offset in pixels of the principal point (this offset moves the origin of the image from the principal point to the lower left hand corner, from which images are generally indexed).
+
+\begin{figure}[tbp]
+\begin{center}
+ \includegraphics[width=5in]{images/camera_module_pinhole.pdf}
+ \end{center}
+ \label{fig:camera_module_pinhole}
+ \caption{The basic pinhole camera model.}
+\end{figure}
View
@@ -21,7 +21,7 @@
//
// __END_LICENSE__
-/// \file Stereo.h
+/// \file Cartography.h
///
/// A convenience header that includes the header files in vw/Cartography.
///
View
@@ -0,0 +1,207 @@
+
+
+#include "vw/GPU/Display.h"
+
+ // GLUT Callbacks
+
+#include <vw/GPU/GPUProgram.h>
+#include <vw/FileIO.h>
+#include <vw/GPU/ImageOperators.h>
+#include <vw/GPU/Timer.h>
+#include <vw/GPU/Transform.h>
+#include <vw/GPU/Filter.h>
+#include <vw/GPU/ImageMath.h>
+#include <vw/GPU/SimpleTransforms.h>
+
+namespace vw { namespace GPU {
+
+ /*
+ void glut_timer(int value) {
+ static int c = 1;
+ glutPostRedisplay();
+ }
+
+ void glut_idle() {
+ static int c = 1;
+ //glutPostRedisplay();
+ }
+
+ void glut_display() {
+ glutTimerFunc(15, glut_timer, 5);
+// Get Display Object
+
+ static bool init = false;
+ static GPUImageBase image_orig;
+ static GPUImageBase image;
+ static Timer timer;
+ if(!init) {
+ timer.Start();
+ init = true;
+ ImageView<PixelRGB<float> > image_color;
+ read_image(image_color, "tests/test_images/lighthouse.jpg");
+ //write_image("tests/test_images/out_image_flowers.jpg", image_color);
+ printf("image %i %i \n", image_color.cols(), image_color.rows());
+ //GPUImageBase tex_new = image_color;
+ //GPUImageBase tex_new(image_color.cols(), image_color.rows(), TEX_RGB, TEX_FLOAT32, TEX_RGB, TEX_FLOAT32, &(image_color(0, 0)));
+ //image_orig = tex_new;
+ image_orig = image_color;
+ }
+
+ timer.Stop();
+ float elapsedTime = timer.ElapsedSeconds();
+ static int counter=0;
+
+ float value = sinf(elapsedTime) + 1.0;
+ //image = gaussian_filter(image_orig, value, value, 0, 0);
+ image = gaussian_filter(GPU::crop(fixed_rotate(pow(image_orig, value), elapsedTime), 300, 300, 400, 300), 1, 1, 0, 0);
+
+
+//Static
+ static vector<int> fAttributes(1);
+ static GPUProgramSet_GLSL programSet_Identity;
+ static int needsInit = 1;
+ if(needsInit--)
+ programSet_Identity.set_base_paths("", "Identity");
+ static vector<int> emptyVector;
+// GLState
+ glClear(GL_DEPTH_BUFFER_BIT|GL_COLOR_BUFFER_BIT);
+ glPolygonMode(GL_FRONT,GL_FILL);
+ glColor3f(0,1,0);
+// Variables
+ int width = image.width();
+ int height = image.height();
+
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ gluOrtho2D(0.0,width,height, 0.0);
+
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+ glViewport(0,0,width, height);
+
+
+ glEnable(GL_TEXTURE_RECTANGLE_ARB);
+ glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
+// Resize
+ glutReshapeWindow(width, height);
+
+// Viewport
+// Program
+ fAttributes[0] = 4;
+ GPUProgram* program_identity = programSet_Identity.get_program(emptyVector, fAttributes, false);
+ ClearGLError();
+ program_identity->install();
+ CheckGLError();
+// OUTPUT
+ GPUImageBase temp(width, height, image.format(), image.type());
+// INPUT\
+ glEnable(GL_TEXTURE_RECTANGLE_ARB);
+ ClearGLError();
+
+ program_identity->set_uniform_texture("image", 0, image);
+ CheckGLError();
+
+ glActiveTexture(GL_TEXTURE0);
+ glEnable(GL_TEXTURE_RECTANGLE_ARB);
+
+// DRAW
+
+ float t0_x1 = image.x(0);
+ float t0_x2 = image.x(width);
+ float t0_y1 = image.y(0);
+ float t0_y2 = image.y(height);
+
+ glBegin(GL_QUADS);
+ glTexCoord2f(t0_x1, t0_y1); glVertex2f(0, 0);
+ glTexCoord2f(t0_x2, t0_y1); glVertex2f(width, 0);
+ glTexCoord2f(t0_x2, t0_y2); glVertex2f(width, height);
+ glTexCoord2f(t0_x1, t0_y2); glVertex2f(0, height);
+ glEnd();
+
+// Uninstall
+ program_identity->uninstall();
+// Flush
+ //glFlush();
+ glutSwapBuffers();
+ }
+
+ */
+ //
+ /*
+ void glut_display() {
+ //Static
+ static vector<int> fAttributes(1);
+ static GPUProgramSet_GLSL programSet_Identity;
+ static int needsInit = 1;
+ if(needsInit--)
+ programSet_Identity.set_base_paths("", "Identity");
+ static vector<int> emptyVector;
+ // Get Display Object
+ Display* display = vw::GPU::Display::GetDisplayForWindow(glutGetWindow());
+ GPUImageBase& tex = display->texture;
+ // Setup
+ int width = tex.width();
+ int height = tex.height();
+ glutReshapeWindow(width, height);
+
+ glClear(GL_DEPTH_BUFFER_BIT|GL_COLOR_BUFFER_BIT);
+ glEnable(GL_TEXTURE_RECTANGLE_ARB);
+ glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
+ // Program
+ fAttributes[0] = 4;
+ GPUProgram* program_identity = programSet_Identity.get_program(emptyVector, fAttributes, true);
+ program_identity->install();
+ // Input
+ program_identity->set_uniform_texture("image", 0, tex);
+ // Draw
+ glBegin(GL_QUADS);
+ glTexCoord2f(0, 0); glVertex2f(0, 0);
+ glTexCoord2f(width, 0); glVertex2f(width, 0);
+ glTexCoord2f(width, height); glVertex2f(width, height);
+ glTexCoord2f(0, height); glVertex2f(0, height);
+ glEnd();
+ // Uninstall
+ program_identity->uninstall();
+ // Flush
+ glutSwapBuffers();
+ }
+ */
+ void glut_reshape(int w, int h) {
+ glMatrixMode(GL_PROJECTION);
+ glLoadIdentity();
+ gluOrtho2D(0.0,w,0.0, h);
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+ glViewport(0,0,w, h);
+
+ }
+
+ // Display Members
+
+ map<int, Display*> Display::map_WindowToDisplay;
+
+ Display::Display(GPUImageBase& tex, char* name) {
+ Init(tex, name);
+ }
+
+ Display::~Display() {
+
+ }
+
+ void Display::Init(GPUImageBase& tex, char* name) {
+ /*
+ texture = tex;
+ glutInitWindowPosition(30, 30);
+ glutInitWindowSize(tex.width(), tex.height());
+ int windowID = glutCreateWindow(name);
+ map_WindowToDisplay[windowID] = this;
+ glutDisplayFunc(glut_display);
+ glutReshapeFunc(glut_reshape);
+ //glutTimerFunc(30, glut_timer, 1);
+ */
+
+ }
+
+
+} // GPU
+} // vw
Oops, something went wrong.

0 comments on commit 059a0ed

Please sign in to comment.