├── CMakeLists.txt ├── History.txt ├── OpenGL_and_CUDA.txt ├── README.md ├── README.txt ├── Sift-GPU 配置教程.docx ├── bin ├── DevIL.dll ├── SiftGPU.dll ├── SiftGPU64.dll ├── SiftGPU_d.dll ├── SiftGPU_d.ilk ├── SimpleSIFT.exe ├── SimpleSIFT_d.exe ├── SimpleSIFT_d.ilk ├── Speed.exe ├── TestWin.exe ├── glew32.dll ├── glew64.dll ├── old │ ├── DevIL.dll │ ├── DevIL64.dll │ └── glew32.dll ├── x64 │ ├── DevIL.dll │ └── glew32.dll └── x86 │ └── glew32.dll ├── data ├── 1600.jpg ├── 640-1.jpg ├── 640-2.jpg ├── 640-3.jpg ├── 640-4.jpg ├── 640-5.jpg ├── 800-1.jpg ├── 800-2.jpg ├── 800-3.jpg ├── 800-4.jpg ├── Thumbs.db ├── list640.txt └── listx.txt ├── demos ├── demo1.bat ├── demo2.bat ├── demo3.bat ├── evaluation-box.bat └── instructions.txt ├── doc ├── evaluation │ ├── box.pgm │ ├── box.siftgpu │ └── evaluation.jpg ├── manual.pdf ├── speed_v311.jpg ├── speed_v340_v2.jpg └── statistics.pdf ├── lib ├── SIFTGPU.exp ├── SIFTGPU.lib ├── SIFTGPU_d.exp └── SIFTGPU_d.lib ├── license.txt ├── makefile ├── msvc ├── 3rd_Library │ ├── DevIL_Windows_SDK │ │ ├── include │ │ │ └── IL │ │ │ │ ├── DevIL.i │ │ │ │ ├── build-lua │ │ │ │ ├── build-python │ │ │ │ ├── config.h.win │ │ │ │ ├── devil_cpp_wrapper.hpp │ │ │ │ ├── devil_internal_exports.h │ │ │ │ ├── il.h │ │ │ │ ├── il_wrap.h │ │ │ │ ├── ilu.h │ │ │ │ ├── ilu_region.h │ │ │ │ ├── ilut.h │ │ │ │ ├── ilut_config.h │ │ │ │ ├── luadevil.c │ │ │ │ └── stamp-h.in │ │ └── lib │ │ │ ├── x64 │ │ │ ├── Release │ │ │ │ ├── DevIL.dll │ │ │ │ ├── DevIL.lib │ │ │ │ ├── ILU.dll │ │ │ │ ├── ILU.lib │ │ │ │ ├── ILUT.dll │ │ │ │ └── ILUT.lib │ │ │ └── unicode │ │ │ │ └── Release │ │ │ │ ├── DevIL.dll │ │ │ │ ├── DevIL.lib │ │ │ │ ├── ILU.dll │ │ │ │ ├── ILU.lib │ │ │ │ ├── ILUT.dll │ │ │ │ └── ILUT.lib │ │ │ └── x86 │ │ │ ├── Release │ │ │ ├── DevIL.dll │ │ │ ├── DevIL.lib │ │ │ ├── ILU.dll │ │ │ ├── ILU.lib │ │ │ ├── ILUT.dll │ │ │ └── ILUT.lib │ │ │ └── unicode │ │ │ └── Release │ │ │ ├── DevIL.dll │ │ │ ├── DevIL.lib │ │ │ ├── ILU.dll │ │ │ ├── ILU.lib │ │ │ ├── ILUT.dll │ │ │ └── ILUT.lib │ └── glew-2.1.0 │ │ ├── README.md │ │ ├── bin │ │ ├── Debug │ │ │ ├── Win32 │ │ │ │ ├── glew32d.dll │ │ │ │ ├── glew32d.pdb │ │ │ │ ├── glewinfod.exe │ │ │ │ ├── glewinfod.pdb │ │ │ │ ├── visualinfod.exe │ │ │ │ └── visualinfod.pdb │ │ │ └── x64 │ │ │ │ ├── glew32d.dll │ │ │ │ ├── glew32d.pdb │ │ │ │ ├── glewinfod.exe │ │ │ │ ├── glewinfod.pdb │ │ │ │ ├── visualinfod.exe │ │ │ │ └── visualinfod.pdb │ │ └── Release │ │ │ ├── Win32 │ │ │ ├── glew32.dll │ │ │ ├── glewinfo.exe │ │ │ └── visualinfo.exe │ │ │ └── x64 │ │ │ ├── glew32.dll │ │ │ ├── glewinfo.exe │ │ │ ├── glewinfo.txt │ │ │ ├── visualinfo.exe │ │ │ └── visualinfo.txt │ │ ├── include │ │ └── GL │ │ │ ├── eglew.h │ │ │ ├── glew.h │ │ │ ├── glxew.h │ │ │ └── wglew.h │ │ └── lib │ │ ├── Debug │ │ ├── Win32 │ │ │ ├── glew32d.exp │ │ │ ├── glew32d.lib │ │ │ └── glew32sd.lib │ │ └── x64 │ │ │ ├── glew32d.exp │ │ │ ├── glew32d.lib │ │ │ └── glew32sd.lib │ │ └── Release │ │ ├── Win32 │ │ ├── glew32.exp │ │ ├── glew32.lib │ │ └── glew32s.lib │ │ └── x64 │ │ ├── glew32.exp │ │ ├── glew32.lib │ │ └── glew32s.lib ├── ServerSiftGPU │ ├── SiftGPU_Server.dsp │ ├── SiftGPU_Server.vcxproj │ └── SiftGPU_Server.vcxproj.user ├── SiftGPU.dsw ├── SiftGPU.sdf ├── SiftGPU.sln ├── SiftGPU.v12.suo ├── SiftGPU │ ├── Debug │ │ ├── CLTexImage.obj │ │ ├── FrameBufferObject.obj │ │ ├── GLTexImage.obj │ │ ├── GlobalUtil.obj │ │ ├── ProgramCL.obj │ │ ├── ProgramGLSL.obj │ │ ├── ProgramGPU.obj │ │ ├── PyramidCL.obj │ │ ├── PyramidGL.obj │ │ ├── SIFTGPU.pdb │ │ ├── ServerSiftGPU.obj │ │ ├── ShaderMan.obj │ │ ├── SiftGPU.log │ │ ├── SiftGPU.obj │ │ ├── SiftGPU.tlog │ │ │ ├── CL.read.1.tlog │ │ │ ├── CL.write.1.tlog │ │ │ ├── SiftGPU.lastbuildstate │ │ │ ├── SiftGPU.write.1u.tlog │ │ │ ├── cl.command.1.tlog │ │ │ ├── link.command.1.tlog │ │ │ ├── link.read.1.tlog │ │ │ └── link.write.1.tlog │ │ ├── SiftGPU_d.Build.CppClean.log │ │ ├── SiftMatch.obj │ │ ├── SiftPyramid.obj │ │ ├── vc120.idb │ │ └── vc120.pdb │ ├── Debug_x64 │ │ ├── CLTexImage.obj │ │ ├── FrameBufferObject.obj │ │ ├── GLTexImage.obj │ │ ├── GlobalUtil.obj │ │ ├── ProgramCL.obj │ │ ├── ProgramGLSL.obj │ │ ├── ProgramGPU.obj │ │ ├── PyramidCL.obj │ │ ├── PyramidGL.obj │ │ ├── SIFTGPU.pdb │ │ ├── ServerSiftGPU.obj │ │ ├── ShaderMan.obj │ │ ├── SiftGPU.log │ │ ├── SiftGPU.obj │ │ ├── SiftGPU.tlog │ │ │ ├── CL.read.1.tlog │ │ │ ├── CL.write.1.tlog │ │ │ ├── SiftGPU.lastbuildstate │ │ │ ├── SiftGPU.write.1u.tlog │ │ │ ├── cl.command.1.tlog │ │ │ ├── link.command.1.tlog │ │ │ ├── link.read.1.tlog │ │ │ └── link.write.1.tlog │ │ ├── SiftGPU_d.Build.CppClean.log │ │ ├── SiftMatch.obj │ │ ├── SiftPyramid.obj │ │ ├── vc120.idb │ │ └── vc120.pdb │ ├── Release │ │ ├── CLTexImage.obj │ │ ├── FrameBufferObject.obj │ │ ├── GLTexImage.obj │ │ ├── GlobalUtil.obj │ │ ├── ProgramCL.obj │ │ ├── ProgramGLSL.obj │ │ ├── ProgramGPU.obj │ │ ├── PyramidCL.obj │ │ ├── PyramidGL.obj │ │ ├── ServerSiftGPU.obj │ │ ├── ShaderMan.obj │ │ ├── SiftGPU.Build.CppClean.log │ │ ├── SiftGPU.log │ │ ├── SiftGPU.obj │ │ ├── SiftGPU.tlog │ │ │ ├── CL.read.1.tlog │ │ │ ├── CL.write.1.tlog │ │ │ ├── SiftGPU.lastbuildstate │ │ │ ├── SiftGPU.write.1u.tlog │ │ │ ├── cl.command.1.tlog │ │ │ ├── link.command.1.tlog │ │ │ ├── link.read.1.tlog │ │ │ └── link.write.1.tlog │ │ ├── SiftMatch.obj │ │ ├── SiftPyramid.obj │ │ └── vc120.pdb │ ├── Release_x64 │ │ ├── CLTexImage.obj │ │ ├── FrameBufferObject.obj │ │ ├── GLTexImage.obj │ │ ├── GlobalUtil.obj │ │ ├── ProgramCL.obj │ │ ├── ProgramGLSL.obj │ │ ├── ProgramGPU.obj │ │ ├── PyramidCL.obj │ │ ├── PyramidGL.obj │ │ ├── ServerSiftGPU.obj │ │ ├── ShaderMan.obj │ │ ├── SiftGPU.Build.CppClean.log │ │ ├── SiftGPU.log │ │ ├── SiftGPU.obj │ │ ├── SiftGPU.tlog │ │ │ ├── CL.read.1.tlog │ │ │ ├── CL.write.1.tlog │ │ │ ├── SiftGPU.lastbuildstate │ │ │ ├── SiftGPU.write.1u.tlog │ │ │ ├── cl.command.1.tlog │ │ │ ├── link.command.1.tlog │ │ │ ├── link.read.1.tlog │ │ │ └── link.write.1.tlog │ │ ├── SiftMatch.obj │ │ ├── SiftPyramid.obj │ │ └── vc120.pdb │ ├── SiftGPU.def │ ├── SiftGPU.dsp │ ├── SiftGPU.vcxproj │ ├── SiftGPU.vcxproj.user │ └── SiftGPU_CUDA_Enabled.vcxproj ├── SiftGPU_CUDA_Enabled.sln └── TestWin │ ├── Debug │ ├── SimpleSIFT.obj │ ├── SimpleSIFT_d.pdb │ ├── vc120.idb │ └── vc120.pdb │ ├── MultiThreadSIFT.dsp │ ├── MultiThreadSIFT.vcxproj │ ├── Release │ ├── SimpleSIFT.obj │ └── vc120.pdb │ ├── SimpleSIFT.dsp │ ├── SimpleSIFT.vcxproj │ ├── SimpleSIFT.vcxproj.user │ ├── SimpleSIFT_Debug │ ├── SimpleSIFT.log │ ├── SimpleSIFT.tlog │ │ ├── CL.read.1.tlog │ │ ├── CL.write.1.tlog │ │ ├── SimpleSIFT.lastbuildstate │ │ ├── cl.command.1.tlog │ │ ├── link.command.1.tlog │ │ ├── link.read.1.tlog │ │ └── link.write.1.tlog │ └── SimpleSIFT_d.Build.CppClean.log │ ├── SimpleSIFT_Debug_x64 │ ├── SimpleSIFT.log │ ├── SimpleSIFT.obj │ ├── SimpleSIFT.tlog │ │ ├── CL.read.1.tlog │ │ ├── CL.write.1.tlog │ │ ├── SimpleSIFT.lastbuildstate │ │ ├── cl.command.1.tlog │ │ ├── link.command.1.tlog │ │ ├── link.read.1.tlog │ │ └── link.write.1.tlog │ ├── SimpleSIFT_d.Build.CppClean.log │ ├── vc120.idb │ └── vc120.pdb │ ├── SimpleSIFT_Release │ ├── SimpleSIFT.Build.CppClean.log │ ├── SimpleSIFT.log │ └── SimpleSIFT.tlog │ │ ├── CL.read.1.tlog │ │ ├── CL.write.1.tlog │ │ ├── SimpleSIFT.lastbuildstate │ │ ├── cl.command.1.tlog │ │ ├── link.command.1.tlog │ │ ├── link.read.1.tlog │ │ └── link.write.1.tlog │ ├── SimpleSIFT_Release_x64 │ ├── SimpleSIFT.Build.CppClean.log │ ├── SimpleSIFT.log │ ├── SimpleSIFT.obj │ ├── SimpleSIFT.tlog │ │ ├── CL.read.1.tlog │ │ ├── CL.write.1.tlog │ │ ├── SimpleSIFT.lastbuildstate │ │ ├── cl.command.1.tlog │ │ ├── link.command.1.tlog │ │ ├── link.read.1.tlog │ │ └── link.write.1.tlog │ └── vc120.pdb │ ├── Speed.dsp │ ├── Speed.vcxproj │ ├── Speed.vcxproj.user │ ├── TestBase.dsp │ ├── TestBase.vcxproj │ ├── TestBase.vcxproj.user │ ├── TestWin.dsp │ ├── TestWin.vcxproj │ ├── TestWin.vcxproj.user │ ├── TestWinGlut.dsp │ ├── TestWinGlut.vcxproj │ └── TestWinGlut.vcxproj.user ├── speed_and_accuracy.txt └── src ├── CMakeLists.txt ├── ServerSiftGPU ├── ServerSiftGPU.cpp ├── ServerSiftGPU.h └── server.cpp ├── SiftGPU ├── CLTexImage.cpp ├── CLTexImage.h ├── CMakeLists.txt ├── CuTexImage.cpp ├── CuTexImage.h ├── FrameBufferObject.cpp ├── FrameBufferObject.h ├── GLTexImage.cpp ├── GLTexImage.h ├── GlobalUtil.cpp ├── GlobalUtil.h ├── LiteWindow.h ├── ProgramCG.cpp ├── ProgramCG.h ├── ProgramCL.cpp ├── ProgramCL.h ├── ProgramCU.cu ├── ProgramCU.h ├── ProgramGLSL.cpp ├── ProgramGLSL.h ├── ProgramGPU.cpp ├── ProgramGPU.h ├── PyramidCL.cpp ├── PyramidCL.h ├── PyramidCU.cpp ├── PyramidCU.h ├── PyramidGL.cpp ├── PyramidGL.h ├── ShaderMan.cpp ├── ShaderMan.h ├── SiftGPU.cpp ├── SiftGPU.h ├── SiftMatch.cpp ├── SiftMatch.h ├── SiftMatchCU.cpp ├── SiftMatchCU.h ├── SiftPyramid.cpp └── SiftPyramid.h └── TestWin ├── BasicTestWin.cpp ├── BasicTestWin.h ├── CMakeLists.txt ├── GLTestWnd.cpp ├── GLTestWnd.h ├── GLTransform.h ├── MultiThreadSIFT.cpp ├── SimpleSIFT.cpp ├── TestWinGlut.cpp ├── TestWinGlut.h └── speed.cpp /CMakeLists.txt: -------------------------------------------------------------------------------- 1 | CMAKE_MINIMUM_REQUIRED(VERSION 2.6) 2 | 3 | PROJECT(SIFTGPU C CXX) 4 | 5 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-write-strings -Wno-unused-result -Wno-deprecated -fPIC") 6 | SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-write-strings -Wno-unused-result -Wno-deprecated -fPIC") 7 | 8 | ADD_SUBDIRECTORY(src) 9 | 10 | -------------------------------------------------------------------------------- /OpenGL_and_CUDA.txt: -------------------------------------------------------------------------------- 1 | PART 1, OPENGL, 2 | 3 | Pay special attention if you have your own OpenGL code. 4 | The OpenGL-based implmentations of SiftGPU need valid OpenGL context to run properly. 5 | 6 | 1. If you use the same OpenGL context for SiftGPU and your own your visualization 7 | Make sure the OpenGL states are restored before calling SiftGPU. SiftGPU changes several 8 | OpenGL internal states, including texture binding to GL_TEXTURE_RECTANGLE_ARB and current 9 | ViewPort. You might need to restore them for your own OpenGL part. To avoid this problem, 10 | you can create a seperate GL context, and activate different context for different part. 11 | 12 | Note that GL_TEXTURE_RECTANGLE_ARB is always enabled in SiftGPU. When you have problem 13 | displaying textures, you can try first glDisable(GL_TEXTURE_RECTANGLE_ARB) before painting, 14 | but don't forget to call glEnable(GL_TEXTURE_RECTANGLE_ARB) after. (Thanks to Pilet) 15 | 16 | 2. How to create/setup an OpenGL context for SiftGPU 17 | 18 | If you choose to let SiftGPU to manage OpenGL context, you can simply do that by 19 | SiftGPU::CreateContextGL and SiftMatchGPU::CreateContextGL. When you mix your own OpenGL 20 | code with SiftGPU, you need to re-call CreateContextGL before calling SiftGPU functions, 21 | which will implicitly activate the internal OpenGL context. 22 | 23 | 24 | If you choose to create openGL contexts yourself when mixing SiftGPU with other openGL 25 | code, don't call SiftGPU::CreateContextGL or SiftMatchGPU::CreateContextGL; Instead you 26 | should first activate your OpenGL context (WglMakeCurrent in win32), and set GL_FILL 27 | for polygon mode, then call SiftGPU::VerifyContextGL or SiftMatchGPU::VerifyContextGL 28 | for initialization. You should also setup in the same way before calling SiftGPU functions. 29 | 30 | 31 | PART 2, CUDA 32 | --------------------------------------------------------------------------------- 33 | 1. How to enable CUDA 34 | 35 | The CUDA implementation in the package is not compiled by default. 36 | 37 | To enable it for visual stuio 2010, use msvc/SiftGPU_CUDA_Enabled.sln 38 | To enable it for other OS, you need to change siftgpu_enable_cuda to 1 in the makefile 39 | 40 | 41 | --------------------------------------------------------------------------------- 42 | 2. Change CUDA build parameters. 43 | For windows, you need to change the settings in the custom build command line of 44 | ProgramCU.cu. For example, add -use_fast_match for using fast match. 45 | 46 | For Other OS, you need to change the makefile. The top part of the makefile is 47 | the configuration section, which includes: 48 | siftgpu_enable_cuda = 0 (Set 1 to enable CUDA-based SiftGPU) 49 | CUDA_INSTALL_PATH = /usr/local/cuda (Where to find CUDA) 50 | siftgpu_cuda_options = -arch sm_10 (Additional CUDA Compiling options) 51 | 52 | 53 | ------------------------------------------------------------------------------------ 54 | 3. CUDA runtime parameters for SiftGPU::ParseParam 55 | First, you need to specify "-cuda" to use CUDA-based SiftGPU. More parameters can 56 | be chagned at runtime in CUDA-based SiftGPU than in OpenGL-based version. Check out 57 | the manual for details. 58 | 59 | NEW. You can choose GPU for CUDA computation by using "-cuda [device_index=0]" 60 | 61 | One parameter for CUDA is "-di", which controls whether dynamic indexing is used 62 | in descriptor generations. It is turned off by default. My experiments on 8800 63 | GTX show that unrolled loop of 8 if-assigns are faster than dynamic indexing, but 64 | it might be different on other GPUs. 65 | 66 | 67 | -------------------------------------------------------------------------------------- 68 | 4. Speed of CUDA-based SiftGPU 69 | If the size of the first octave (multiply the original size by 2 if upsample is used) 70 | is less than or around 1024x768, CUDA version will be faster than OpenGL versions, 71 | otherwise the OpenGL versions are still faster. 72 | 73 | ************************************************************************************** 74 | This is observed on nVidia 8800 GTX, it might be different on other GPUs. Recent 75 | experiments on GTX280 show that CUDA version is not as fast as OpenGL version. 76 | 77 | Note: the thread block settings are currently tuned on GPU nVidia GTX 8800, 78 | which may not be optimized for other GPUs. 79 | ************************************************************************************** 80 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SIFT-GPU 2 | A CUDA implementation of SIFT: 3 | 4 | 5 | 6 | # 配置 7 | 8 | (待完成)见SIFT-GPU配置教程 9 | 10 | 11 | 12 | 13 | 14 | # 测试 15 | 16 | **1.Release 模式** 17 | 18 | ```shell 19 | cd bin 20 | ./SimpleSIFT.exe 21 | ``` 22 | 23 | Release模式,输出结果: 24 | 25 | [SiftGPU Language]: GLSL 26 | [GPU VENDOR]: NVIDIA Corporation 1717MB 27 | TEXTURE: 16384 28 | Image size : 800x600 29 | Image loaded : ../data/800-1.jpg 30 | 31 | Features: 3358 32 | 33 | Features MO: 3923 34 | 35 | [RUN SIFT]: 0.189 36 | 37 | Image size : 640x480 38 | Image loaded : ../data/640-1.jpg 39 | 40 | Features: 2383 41 | 42 | Features MO: 2791 43 | 44 | [RUN SIFT]: 0.066 45 | 46 | [SiftMatchGPU]: GLSL 47 | 48 | 2279 sift matches were found; 49 | 50 | 51 | 52 | **2.Debug 模式** 53 | 54 | ```shell 55 | .\SimpleSIFT_d.exe 56 | ``` 57 | 58 | 59 | 60 | 61 | 62 | # 参考 63 | 64 | Changchang Wu:http://cs.unc.edu/~ccwu 65 | 66 | -------------------------------------------------------------------------------- /README.txt: -------------------------------------------------------------------------------- 1 | A GPU implementation of David Lowe's Scale Invariant Feature Transform 2 | 3 | Changchang wu 4 | 5 | http://cs.unc.edu/~ccwu 6 | 7 | University of North Carolina at Chapel Hill 8 | 9 | 10 | 11 | 12 | 1. SIFT 13 | 14 | SIFTGPU is an implementation of SIFT for GPU. SiftGPU uses GPU to process pixels and features 15 | parallely in Gaussian pyramid construction, DoG keypoint detection and descriptor generation 16 | for SIFT. Compact feature list is efficiently build through a GPU/CPU mixed reduction. 17 | 18 | SIFTGPU is inspired by Andrea Vedaldi's sift++ and Sudipta N Sinha et al's GPU-SIFT. Many 19 | parameters of sift++ ( for example, number of octaves,number of DOG levels, edge threshold, 20 | etc) are available in SiftGPU. 21 | 22 | 23 | SIFTGPU also includes a GPU exhaustive/guided sift matcher SiftMatchGPU. It basically multiplies 24 | the descriptor matrix on GPU and find closest feature matches on GPU. GLSL/CUDA/CG implementations 25 | are all provided. 26 | 27 | NEW: The latest SIFTGPU also enables you to use Multi-GPUs and GPUS on different computers. 28 | Check doc/manual.pdf for more information. You can modify some marcros definition in 29 | SimpleSIFT.cpp and speed.cpp to enable the testing of the new functions. 30 | 31 | 32 | 2. Requirements 33 | 34 | The default implemntation uses GLSL, and it requires a GPU that has large memory and supports 35 | dynamic branching. For nVidia graphic cards, you can optionally use CG(require fp40) or 36 | CUDA implementation. You can try different implementations and to find out the fastest one 37 | for different image sizes and parameters. 38 | 39 | The GLSL version may not work on ATI now. They did compile sucessfully with ATI Catalyst 8.9, 40 | but not any more with 9.x versions. 41 | 42 | SiftGPU uses DevIl Image library, GLEW and GLUT. You'll need to make sure your system has 43 | all the dependening libraries. SiftGPU should be able to run on any operation system that supports 44 | the above libraries 45 | 46 | For windows system visual studio solution are provided as msvc/SiftGPU.dsw, msvc/SiftGPU.sln and 47 | msvc/SiftGPU_CUDA_Enabled.sln. Linux/Mac makefile is in folder Linux of the package. 48 | 49 | 50 | 3. Helps 51 | 52 | Use -help to get parameter information. Check /doc/manual.pdf for samples and explanations. 53 | In the vc workspace, there is a project called SimpleSIF that gives an example of simple 54 | SiftGPU usage. There are more examples of different ways of using SiftGPU in manual.pdf 55 | 56 | 57 | Check /doc/manual.pdf for help on the viewer. 58 | 59 | -------------------------------------------------------------------------------- /Sift-GPU 配置教程.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/Sift-GPU 配置教程.docx -------------------------------------------------------------------------------- /bin/DevIL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/bin/DevIL.dll -------------------------------------------------------------------------------- /bin/SiftGPU.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/bin/SiftGPU.dll -------------------------------------------------------------------------------- /bin/SiftGPU64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/bin/SiftGPU64.dll -------------------------------------------------------------------------------- /bin/SiftGPU_d.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/bin/SiftGPU_d.dll -------------------------------------------------------------------------------- /bin/SiftGPU_d.ilk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/bin/SiftGPU_d.ilk -------------------------------------------------------------------------------- /bin/SimpleSIFT.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/bin/SimpleSIFT.exe -------------------------------------------------------------------------------- /bin/SimpleSIFT_d.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/bin/SimpleSIFT_d.exe -------------------------------------------------------------------------------- /bin/SimpleSIFT_d.ilk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/bin/SimpleSIFT_d.ilk -------------------------------------------------------------------------------- /bin/Speed.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/bin/Speed.exe -------------------------------------------------------------------------------- /bin/TestWin.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/bin/TestWin.exe -------------------------------------------------------------------------------- /bin/glew32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/bin/glew32.dll -------------------------------------------------------------------------------- /bin/glew64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/bin/glew64.dll -------------------------------------------------------------------------------- /bin/old/DevIL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/bin/old/DevIL.dll -------------------------------------------------------------------------------- /bin/old/DevIL64.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/bin/old/DevIL64.dll -------------------------------------------------------------------------------- /bin/old/glew32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/bin/old/glew32.dll -------------------------------------------------------------------------------- /bin/x64/DevIL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/bin/x64/DevIL.dll -------------------------------------------------------------------------------- /bin/x64/glew32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/bin/x64/glew32.dll -------------------------------------------------------------------------------- /bin/x86/glew32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/bin/x86/glew32.dll -------------------------------------------------------------------------------- /data/1600.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/data/1600.jpg -------------------------------------------------------------------------------- /data/640-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/data/640-1.jpg -------------------------------------------------------------------------------- /data/640-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/data/640-2.jpg -------------------------------------------------------------------------------- /data/640-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/data/640-3.jpg -------------------------------------------------------------------------------- /data/640-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/data/640-4.jpg -------------------------------------------------------------------------------- /data/640-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/data/640-5.jpg -------------------------------------------------------------------------------- /data/800-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/data/800-1.jpg -------------------------------------------------------------------------------- /data/800-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/data/800-2.jpg -------------------------------------------------------------------------------- /data/800-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/data/800-3.jpg -------------------------------------------------------------------------------- /data/800-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/data/800-4.jpg -------------------------------------------------------------------------------- /data/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/data/Thumbs.db -------------------------------------------------------------------------------- /data/list640.txt: -------------------------------------------------------------------------------- 1 | 640-1.jpg 2 | 640-2.jpg 3 | 640-3.jpg 4 | 640-4.jpg 5 | 640-5.jpg -------------------------------------------------------------------------------- /data/listx.txt: -------------------------------------------------------------------------------- 1 | 800-1.jpg 2 | 640-1.jpg 3 | 800-2.jpg 4 | 640-2.jpg 5 | 800-3.jpg 6 | 640-3.jpg 7 | 800-4.jpg 8 | 640-4.jpg 9 | 640-5.jpg -------------------------------------------------------------------------------- /demos/demo1.bat: -------------------------------------------------------------------------------- 1 | ..\bin\TestWinGlut.exe -i ..\data\1600.jpg -------------------------------------------------------------------------------- /demos/demo2.bat: -------------------------------------------------------------------------------- 1 | ..\bin\TestWinGlut.exe -il ..\data\list640.txt -------------------------------------------------------------------------------- /demos/demo3.bat: -------------------------------------------------------------------------------- 1 | ..\bin\TestWinGlut.exe -il ..\data\listx.txt -------------------------------------------------------------------------------- /demos/evaluation-box.bat: -------------------------------------------------------------------------------- 1 | ..\bin\TestWinGlut.exe -i ..\doc\evaluation\box.pgm -o ..\doc\evaluation\box.siftgpu -w 3 -fo -1 -loweo -exit -------------------------------------------------------------------------------- /demos/instructions.txt: -------------------------------------------------------------------------------- 1 | after the window shows up, try the following keys 2 | r process the next image 3 | l start/stop loopy processing 4 | space next subview 5 | enter next view 6 | 7 | Check out ../doc/manual.doc for more viewer instructions. 8 | 9 | demo3 process a list of images with varing image sizes 10 | -------------------------------------------------------------------------------- /doc/evaluation/box.pgm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/doc/evaluation/box.pgm -------------------------------------------------------------------------------- /doc/evaluation/evaluation.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/doc/evaluation/evaluation.jpg -------------------------------------------------------------------------------- /doc/manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/doc/manual.pdf -------------------------------------------------------------------------------- /doc/speed_v311.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/doc/speed_v311.jpg -------------------------------------------------------------------------------- /doc/speed_v340_v2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/doc/speed_v340_v2.jpg -------------------------------------------------------------------------------- /doc/statistics.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/doc/statistics.pdf -------------------------------------------------------------------------------- /lib/SIFTGPU.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/lib/SIFTGPU.exp -------------------------------------------------------------------------------- /lib/SIFTGPU.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/lib/SIFTGPU.lib -------------------------------------------------------------------------------- /lib/SIFTGPU_d.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/lib/SIFTGPU_d.exp -------------------------------------------------------------------------------- /lib/SIFTGPU_d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/lib/SIFTGPU_d.lib -------------------------------------------------------------------------------- /license.txt: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // 3 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 4 | // All Rights Reserved 5 | // 6 | // Permission to use, copy, modify and distribute this software and its 7 | // documentation for educational, research and non-profit purposes, without 8 | // fee, and without a written agreement is hereby granted, provided that the 9 | // above copyright notice and the following paragraph appear in all copies. 10 | // 11 | // The University of North Carolina at Chapel Hill make no representations 12 | // about the suitability of this software for any purpose. It is provided 13 | // 'as is' without express or implied warranty. 14 | // 15 | // Please send BUG REPORTS to ccwu@cs.unc.edu 16 | // 17 | //////////////////////////////////////////////////////////////////////////// -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/include/IL/DevIL.i: -------------------------------------------------------------------------------- 1 | %module DevIL 2 | %{ 3 | #include "il.h" 4 | #include "ilu.h" 5 | #include "ilut.h" 6 | //#include "ilu_region.h" 7 | %} 8 | 9 | %include "il.h" 10 | %include "ilu.h" 11 | %include "ilut.h" 12 | //%include "ilu_region.h" 13 | 14 | -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/include/IL/build-lua: -------------------------------------------------------------------------------- 1 | IL_INCLUDE_PATH="/usr/include" 2 | IL_LIB_PATH="/usr/lib" 3 | LUA_INCLUDE_PATH="/usr/include/lua5.1" 4 | LUA_LIB_PATH="/usr/lib" 5 | OSX=no 6 | 7 | echo "Building the lua binding!" 8 | 9 | export SWIG_FEATURES="-I$IL_INCLUDE_PATH" 10 | swig -lua DevIL.i 11 | if [ $? -ne 0 ] ; then 12 | echo "swig Failed to build the lua interface" 13 | exit 1 14 | fi 15 | 16 | compile() { 17 | gcc luadevil.c "$1" -o luadevil "-L$LUA_LIB_PATH" "-I$LUA_INCLUDE_PATH" "-I$IL_LIB_PATH" -lIL -lILU -lILUT -llua5.1 &>/dev/null 18 | err=$? 19 | if [ "$OSX" = "no" ] ; then 20 | gcc -shared "$1" -o DevIL.so "-L$LUA_LIB_PATH" "-I$LUA_INCLUDE_PATH" "-I$IL_LIB_PATH" -lIL -lILU -lILUT &>/dev/null 21 | else 22 | gcc -bundle -undefined dynamic_lookup "$1" -o DevIL.so "-L$LUA_LIB_PATH" "-I$LUA_INCLUDE_PATH" "-I$IL_LIB_PATH" -lIL -lILU -lILUT &>/dev/null 23 | fi 24 | return $err 25 | } 26 | 27 | compile DevIL_wrap.c 28 | if [ $? -ne 0 ] ; then 29 | echo 'Failed compilation' 30 | echo 'On some platform the file malloc.h is not present and produces a compilation error' 31 | echo -n 'it can be removed safely, try [y/n] ? ' 32 | while read i ; do 33 | if [ "$i" = "y" ] ; then 34 | sed 's/\#include\ \//' < DevIL_wrap.c > DevIL_wrap.mod.c 35 | compile "DevIL_wrap.mod.c" 36 | if [ $? -ne 0 ] ; then 37 | echo 'still failing...' 38 | exit 2 39 | fi 40 | exit 0 41 | elif [ "$i" = "n" ] ; then 42 | echo 'ok, failing...' 43 | exit 3 44 | else 45 | echo 'Unknown command [y/n] ? ' 46 | fi 47 | done 48 | fi 49 | 50 | echo "ok!" 51 | exit 0 52 | -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/include/IL/build-python: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | IL_INCLUDE_PATH="/usr/local/include" 4 | IL_LIB_PATH="/usr/local/lib" 5 | PYTHON_INCLUDE_PATH="/usr/include/python2.5" 6 | 7 | swig "-I$IL_INCLUDE_PATH" -python -interface DevIL DevIL.i 8 | if [ $? -ne 0 ] ; then 9 | echo Error while building the swig interface 10 | exit 1 11 | fi 12 | 13 | gcc -shared "-I$IL_INCLUDE_PATH" "-I$PYTHON_INCLUDE_PATH" "-L$IL_LIB_PATH" -lIL -lILU -lILUT DevIL_wrap.c -o DevIL.so 14 | if [ $? -ne 0 ] ; then 15 | echo Error while compiling the python module 16 | fi 17 | echo "DevIL.py and DevIL.so are ready" 18 | -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/include/IL/config.h.win: -------------------------------------------------------------------------------- 1 | #ifndef __CONFIG_H__ 2 | #define __CONFIG_H__ 3 | 4 | #define IL_USE_PRAGMA_LIBS // Links to only the libraries that are requested. 5 | #define IL_INLINE_ASM 1 // Define if you can support at least some ASM 6 | 7 | // Supported images formats (IL) 8 | 9 | // #define IL_NO_BLP 10 | // #define IL_NO_BMP 11 | // #define IL_NO_CUT 12 | // #define IL_NO_CHEAD 13 | // #define IL_NO_DCX 14 | // #define IL_NO_DDS 15 | // #define IL_NO_DICOM 16 | // #define IL_NO_DOOM 17 | // #define IL_NO_EXR 18 | // #define IL_NO_FITS 19 | // #define IL_NO_FTX 20 | // #define IL_NO_GIF 21 | // #define IL_NO_HDR 22 | // #define IL_NO_ICO 23 | // #define IL_NO_ICNS 24 | // #define IL_NO_IWI 25 | // #define IL_NO_JP2 26 | // #define IL_NO_JPG 27 | // #define IL_NO_LCMS 28 | // #define IL_NO_LIF 29 | // #define IL_NO_MDL 30 | // #define IL_NO_MNG 31 | // #define IL_NO_PCD 32 | // #define IL_NO_PCX 33 | // #define IL_NO_PIC 34 | // #define IL_NO_PIX 35 | // #define IL_NO_PNG 36 | // #define IL_NO_PNM 37 | // #define IL_NO_PSD 38 | // #define IL_NO_PSP 39 | // #define IL_NO_PXR 40 | // #define IL_NO_RAW 41 | // #define IL_NO_ROT 42 | // #define IL_NO_SGI 43 | // #define IL_NO_SUN 44 | // #define IL_NO_TGA 45 | // #define IL_NO_TIF 46 | // #define IL_NO_TPL 47 | // #define IL_NO_WAL 48 | // #define IL_NO_WDP 49 | // #define IL_NO_XPM 50 | 51 | #define IL_USE_JPEGLIB_UNMODIFIED 1 52 | #define IL_USE_DXTC_NVIDIA 53 | #define IL_USE_DXTC_SQUISH 54 | 55 | //#define IL_NO_GAMES 56 | 57 | /* Supported api (ilut) */ 58 | 59 | 60 | // 61 | // sorry just 62 | // cant get this one to work under windows 63 | // have disabled for the now 64 | // 65 | // will look at it some more later 66 | // 67 | // Kriss 68 | // 69 | #undef ILUT_USE_ALLEGRO 70 | 71 | #undef ILUT_USE_DIRECTX8 72 | #define ILUT_USE_DIRECTX9 73 | #define ILUT_USE_DIRECTX10 74 | #define ILUT_USE_OPENGL 75 | #define ILUT_USE_SDL 76 | #define ILUT_USE_WIN32 77 | 78 | 79 | #endif /* __CONFIG_H__ */ 80 | -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/include/IL/il_wrap.h: -------------------------------------------------------------------------------- 1 | #ifndef WRAPPER_H 2 | #define WRAPPER_H 3 | 4 | /*#include 5 | #include */ 6 | #include // Probably only have to #include this one 7 | 8 | #ifdef _MSC_VER 9 | #ifndef _IL_WRAP_BUILD_LIB 10 | #pragma comment(lib, "il_wrap.lib") 11 | #endif 12 | #endif 13 | 14 | class ilImage 15 | { 16 | public: 17 | ilImage(); 18 | ilImage(char *); 19 | ilImage(const ilImage &); 20 | virtual ~ilImage(); 21 | 22 | ILboolean Load(char *); 23 | ILboolean Load(char *, ILenum); 24 | ILboolean Save(char *); 25 | ILboolean Save(char *, ILenum); 26 | 27 | 28 | // ImageLib functions 29 | ILboolean ActiveImage(ILuint); 30 | ILboolean ActiveLayer(ILuint); 31 | ILboolean ActiveMipmap(ILuint); 32 | ILboolean Clear(void); 33 | ILvoid ClearColour(ILclampf, ILclampf, ILclampf, ILclampf); 34 | ILboolean Convert(ILenum); 35 | ILboolean Copy(ILuint); 36 | ILboolean Default(void); 37 | ILboolean Flip(void); 38 | ILboolean SwapColours(void); 39 | ILboolean Resize(ILuint, ILuint, ILuint); 40 | ILboolean TexImage(ILuint, ILuint, ILuint, ILubyte, ILenum, ILenum, ILvoid*); 41 | 42 | 43 | // Image handling 44 | ILvoid Bind(void) const; 45 | ILvoid Bind(ILuint); 46 | ILvoid Close(void) { this->Delete(); } 47 | ILvoid Delete(void); 48 | ILvoid iGenBind(); 49 | ILenum PaletteAlphaIndex(); 50 | 51 | // Image characteristics 52 | ILuint Width(void); 53 | ILuint Height(void); 54 | ILuint Depth(void); 55 | ILubyte Bpp(void); 56 | ILubyte Bitpp(void); 57 | ILenum PaletteType(void); 58 | ILenum Format(void); 59 | ILenum Type(void); 60 | ILuint NumImages(void); 61 | ILuint NumMipmaps(void); 62 | ILuint GetId(void) const; 63 | ILenum GetOrigin(void); 64 | ILubyte *GetData(void); 65 | ILubyte *GetPalette(void); 66 | 67 | 68 | // Rendering 69 | ILuint BindImage(void); 70 | ILuint BindImage(ILenum); 71 | 72 | 73 | // Operators 74 | ilImage& operator = (ILuint); 75 | ilImage& operator = (const ilImage &); 76 | 77 | 78 | protected: 79 | ILuint Id; 80 | 81 | private: 82 | ILvoid iStartUp(); 83 | 84 | 85 | }; 86 | 87 | 88 | class ilFilters 89 | { 90 | public: 91 | static ILboolean Alienify(ilImage &); 92 | static ILboolean BlurAvg(ilImage &, ILuint Iter); 93 | static ILboolean BlurGaussian(ilImage &, ILuint Iter); 94 | static ILboolean Contrast(ilImage &, ILfloat Contrast); 95 | static ILboolean EdgeDetectE(ilImage &); 96 | static ILboolean EdgeDetectP(ilImage &); 97 | static ILboolean EdgeDetectS(ilImage &); 98 | static ILboolean Emboss(ilImage &); 99 | static ILboolean Gamma(ilImage &, ILfloat Gamma); 100 | static ILboolean Negative(ilImage &); 101 | static ILboolean Noisify(ilImage &, ILubyte Factor); 102 | static ILboolean Pixelize(ilImage &, ILuint PixSize); 103 | static ILboolean Saturate(ilImage &, ILfloat Saturation); 104 | static ILboolean Saturate(ilImage &, ILfloat r, ILfloat g, ILfloat b, ILfloat Saturation); 105 | static ILboolean ScaleColours(ilImage &, ILfloat r, ILfloat g, ILfloat b); 106 | static ILboolean Sharpen(ilImage &, ILfloat Factor, ILuint Iter); 107 | }; 108 | 109 | 110 | #ifdef ILUT_USE_OPENGL 111 | class ilOgl 112 | { 113 | public: 114 | static ILvoid Init(void); 115 | static GLuint BindTex(ilImage &); 116 | static ILboolean Upload(ilImage &, ILuint); 117 | static GLuint Mipmap(ilImage &); 118 | static ILboolean Screen(void); 119 | static ILboolean Screenie(void); 120 | }; 121 | #endif//ILUT_USE_OPENGL 122 | 123 | 124 | #ifdef ILUT_USE_ALLEGRO 125 | class ilAlleg 126 | { 127 | public: 128 | static ILvoid Init(void); 129 | static BITMAP *Convert(ilImage &); 130 | }; 131 | #endif//ILUT_USE_ALLEGRO 132 | 133 | 134 | #ifdef ILUT_USE_WIN32 135 | class ilWin32 136 | { 137 | public: 138 | static ILvoid Init(void); 139 | static HBITMAP Convert(ilImage &); 140 | static ILboolean GetClipboard(ilImage &); 141 | static ILvoid GetInfo(ilImage &, BITMAPINFO *Info); 142 | static ILubyte *GetPadData(ilImage &); 143 | static HPALETTE GetPal(ilImage &); 144 | static ILboolean GetResource(ilImage &, HINSTANCE hInst, ILint ID, char *ResourceType); 145 | static ILboolean GetResource(ilImage &, HINSTANCE hInst, ILint ID, char *ResourceType, ILenum Type); 146 | static ILboolean SetClipboard(ilImage &); 147 | }; 148 | #endif//ILUT_USE_WIN32 149 | 150 | 151 | class ilValidate 152 | { 153 | public: 154 | static ILboolean Valid(ILenum, char *); 155 | static ILboolean Valid(ILenum, FILE *); 156 | static ILboolean Valid(ILenum, ILvoid *, ILuint); 157 | 158 | protected: 159 | 160 | private: 161 | 162 | }; 163 | 164 | 165 | class ilState 166 | { 167 | public: 168 | static ILboolean Disable(ILenum); 169 | static ILboolean Enable(ILenum); 170 | static ILvoid Get(ILenum, ILboolean &); 171 | static ILvoid Get(ILenum, ILint &); 172 | static ILboolean GetBool(ILenum); 173 | static ILint GetInt(ILenum); 174 | static const char *GetString(ILenum); 175 | static ILboolean IsDisabled(ILenum); 176 | static ILboolean IsEnabled(ILenum); 177 | static ILboolean Origin(ILenum); 178 | static ILvoid Pop(void); 179 | static ILvoid Push(ILuint); 180 | 181 | 182 | protected: 183 | 184 | private: 185 | 186 | }; 187 | 188 | 189 | class ilError 190 | { 191 | public: 192 | static ILvoid Check(ILvoid (*Callback)(const char*)); 193 | static ILvoid Check(ILvoid (*Callback)(ILenum)); 194 | static ILenum Get(void); 195 | static const char *String(void); 196 | static const char *String(ILenum); 197 | 198 | protected: 199 | 200 | private: 201 | 202 | }; 203 | 204 | 205 | #endif//WRAPPER_H 206 | -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/include/IL/ilu_region.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // ImageLib Utility Sources 4 | // Copyright (C) 2000-2002 by Denton Woods 5 | // Last modified: 07/09/2002 <--Y2K Compliant! =] 6 | // 7 | // Filename: src-ILU/src/ilu_region.h 8 | // 9 | // Description: Creates an image region. 10 | // 11 | //----------------------------------------------------------------------------- 12 | 13 | #ifndef ILU_REGION_H 14 | #define ILU_REGION_H 15 | 16 | typedef struct Edge 17 | { 18 | ILint yUpper; 19 | ILfloat xIntersect, dxPerScan; 20 | struct Edge *next; 21 | } Edge; 22 | 23 | 24 | #endif//ILU_REGION_H 25 | 26 | -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/include/IL/ilut_config.h: -------------------------------------------------------------------------------- 1 | #ifndef __ILUT_CONFIG_H__ 2 | #define __ILUT_CONFIG_H__ 3 | 4 | //#define IL_USE_PRAGMA_LIBS 5 | 6 | // Supported APIs (ILUT) 7 | 8 | // 9 | // sorry just 10 | // cant get this one to work under windows 11 | // have disabled for the now 12 | // 13 | // will look at it some more later 14 | // 15 | // Kriss 16 | // 17 | #undef ILUT_USE_ALLEGRO 18 | 19 | #undef ILUT_USE_DIRECTX8 20 | //#define ILUT_USE_DIRECTX9 21 | //#define ILUT_USE_DIRECTX10 22 | #define ILUT_USE_OPENGL 23 | //#define ILUT_USE_SDL 24 | #define ILUT_USE_WIN32 25 | 26 | #endif//__ILUT_CONFIG_H__ 27 | -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/include/IL/stamp-h.in: -------------------------------------------------------------------------------- 1 | timestamp 2 | -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/Release/DevIL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/Release/DevIL.dll -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/Release/DevIL.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/Release/DevIL.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/Release/ILU.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/Release/ILU.dll -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/Release/ILU.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/Release/ILU.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/Release/ILUT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/Release/ILUT.dll -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/Release/ILUT.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/Release/ILUT.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/unicode/Release/DevIL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/unicode/Release/DevIL.dll -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/unicode/Release/DevIL.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/unicode/Release/DevIL.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/unicode/Release/ILU.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/unicode/Release/ILU.dll -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/unicode/Release/ILU.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/unicode/Release/ILU.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/unicode/Release/ILUT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/unicode/Release/ILUT.dll -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/unicode/Release/ILUT.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x64/unicode/Release/ILUT.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/Release/DevIL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/Release/DevIL.dll -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/Release/DevIL.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/Release/DevIL.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/Release/ILU.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/Release/ILU.dll -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/Release/ILU.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/Release/ILU.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/Release/ILUT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/Release/ILUT.dll -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/Release/ILUT.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/Release/ILUT.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/unicode/Release/DevIL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/unicode/Release/DevIL.dll -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/unicode/Release/DevIL.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/unicode/Release/DevIL.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/unicode/Release/ILU.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/unicode/Release/ILU.dll -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/unicode/Release/ILU.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/unicode/Release/ILU.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/unicode/Release/ILUT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/unicode/Release/ILUT.dll -------------------------------------------------------------------------------- /msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/unicode/Release/ILUT.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/DevIL_Windows_SDK/lib/x86/unicode/Release/ILUT.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/bin/Debug/Win32/glew32d.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/bin/Debug/Win32/glew32d.dll -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/bin/Debug/Win32/glew32d.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/bin/Debug/Win32/glew32d.pdb -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/bin/Debug/Win32/glewinfod.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/bin/Debug/Win32/glewinfod.exe -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/bin/Debug/Win32/glewinfod.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/bin/Debug/Win32/glewinfod.pdb -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/bin/Debug/Win32/visualinfod.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/bin/Debug/Win32/visualinfod.exe -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/bin/Debug/Win32/visualinfod.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/bin/Debug/Win32/visualinfod.pdb -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/bin/Debug/x64/glew32d.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/bin/Debug/x64/glew32d.dll -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/bin/Debug/x64/glew32d.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/bin/Debug/x64/glew32d.pdb -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/bin/Debug/x64/glewinfod.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/bin/Debug/x64/glewinfod.exe -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/bin/Debug/x64/glewinfod.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/bin/Debug/x64/glewinfod.pdb -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/bin/Debug/x64/visualinfod.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/bin/Debug/x64/visualinfod.exe -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/bin/Debug/x64/visualinfod.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/bin/Debug/x64/visualinfod.pdb -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/bin/Release/Win32/glew32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/bin/Release/Win32/glew32.dll -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/bin/Release/Win32/glewinfo.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/bin/Release/Win32/glewinfo.exe -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/bin/Release/Win32/visualinfo.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/bin/Release/Win32/visualinfo.exe -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/bin/Release/x64/glew32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/bin/Release/x64/glew32.dll -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/bin/Release/x64/glewinfo.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/bin/Release/x64/glewinfo.exe -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/bin/Release/x64/visualinfo.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/bin/Release/x64/visualinfo.exe -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/lib/Debug/Win32/glew32d.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/lib/Debug/Win32/glew32d.exp -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/lib/Debug/Win32/glew32d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/lib/Debug/Win32/glew32d.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/lib/Debug/Win32/glew32sd.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/lib/Debug/Win32/glew32sd.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/lib/Debug/x64/glew32d.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/lib/Debug/x64/glew32d.exp -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/lib/Debug/x64/glew32d.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/lib/Debug/x64/glew32d.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/lib/Debug/x64/glew32sd.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/lib/Debug/x64/glew32sd.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/lib/Release/Win32/glew32.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/lib/Release/Win32/glew32.exp -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/lib/Release/Win32/glew32.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/lib/Release/Win32/glew32.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/lib/Release/Win32/glew32s.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/lib/Release/Win32/glew32s.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/lib/Release/x64/glew32.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/lib/Release/x64/glew32.exp -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/lib/Release/x64/glew32.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/lib/Release/x64/glew32.lib -------------------------------------------------------------------------------- /msvc/3rd_Library/glew-2.1.0/lib/Release/x64/glew32s.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/3rd_Library/glew-2.1.0/lib/Release/x64/glew32s.lib -------------------------------------------------------------------------------- /msvc/ServerSiftGPU/SiftGPU_Server.dsp: -------------------------------------------------------------------------------- 1 | # Microsoft Developer Studio Project File - Name="SiftGPU_Server" - Package Owner=<4> 2 | # Microsoft Developer Studio Generated Build File, Format Version 6.00 3 | # ** DO NOT EDIT ** 4 | 5 | # TARGTYPE "Win32 (x86) Console Application" 0x0103 6 | 7 | CFG=SiftGPU_Server - Win32 Debug 8 | !MESSAGE This is not a valid makefile. To build this project using NMAKE, 9 | !MESSAGE use the Export Makefile command and run 10 | !MESSAGE 11 | !MESSAGE NMAKE /f "SiftGPU_Server.mak". 12 | !MESSAGE 13 | !MESSAGE You can specify a configuration when running NMAKE 14 | !MESSAGE by defining the macro CFG on the command line. For example: 15 | !MESSAGE 16 | !MESSAGE NMAKE /f "SiftGPU_Server.mak" CFG="SiftGPU_Server - Win32 Debug" 17 | !MESSAGE 18 | !MESSAGE Possible choices for configuration are: 19 | !MESSAGE 20 | !MESSAGE "SiftGPU_Server - Win32 Release" (based on "Win32 (x86) Console Application") 21 | !MESSAGE "SiftGPU_Server - Win32 Debug" (based on "Win32 (x86) Console Application") 22 | !MESSAGE 23 | 24 | # Begin Project 25 | # PROP AllowPerConfigDependencies 0 26 | # PROP Scc_ProjName "" 27 | # PROP Scc_LocalPath "" 28 | CPP=cl.exe 29 | RSC=rc.exe 30 | 31 | !IF "$(CFG)" == "SiftGPU_Server - Win32 Release" 32 | 33 | # PROP BASE Use_MFC 0 34 | # PROP BASE Use_Debug_Libraries 0 35 | # PROP BASE Output_Dir "SiftGPU_Server___Win32_Release" 36 | # PROP BASE Intermediate_Dir "SiftGPU_Server___Win32_Release" 37 | # PROP BASE Target_Dir "" 38 | # PROP Use_MFC 0 39 | # PROP Use_Debug_Libraries 0 40 | # PROP Output_Dir "Release" 41 | # PROP Intermediate_Dir "Release" 42 | # PROP Ignore_Export_Lib 0 43 | # PROP Target_Dir "" 44 | # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c 45 | # ADD CPP /nologo /MT /W3 /GX /O2 /I "../../Include/" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c 46 | # ADD BASE RSC /l 0x409 /d "NDEBUG" 47 | # ADD RSC /l 0x409 /d "NDEBUG" 48 | BSC32=bscmake.exe 49 | # ADD BASE BSC32 /nologo 50 | # ADD BSC32 /nologo 51 | LINK32=link.exe 52 | # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 53 | # ADD LINK32 kernel32.lib user32.lib gdi32.lib ws2_32.lib siftgpu.lib opengl32.lib /nologo /subsystem:console /machine:I386 /out:"../../bin/server_siftgpu.exe" /libpath:"../../lib" 54 | 55 | !ELSEIF "$(CFG)" == "SiftGPU_Server - Win32 Debug" 56 | 57 | # PROP BASE Use_MFC 0 58 | # PROP BASE Use_Debug_Libraries 1 59 | # PROP BASE Output_Dir "SiftGPU_Server___Win32_Debug" 60 | # PROP BASE Intermediate_Dir "SiftGPU_Server___Win32_Debug" 61 | # PROP BASE Target_Dir "" 62 | # PROP Use_MFC 0 63 | # PROP Use_Debug_Libraries 1 64 | # PROP Output_Dir "Debug" 65 | # PROP Intermediate_Dir "Debug" 66 | # PROP Ignore_Export_Lib 0 67 | # PROP Target_Dir "" 68 | # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c 69 | # ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../Include/" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c 70 | # ADD BASE RSC /l 0x409 /d "_DEBUG" 71 | # ADD RSC /l 0x409 /d "_DEBUG" 72 | BSC32=bscmake.exe 73 | # ADD BASE BSC32 /nologo 74 | # ADD BSC32 /nologo 75 | LINK32=link.exe 76 | # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept 77 | # ADD LINK32 kernel32.lib user32.lib gdi32.lib ws2_32.lib siftgpu_d.lib opengl32.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../bin/server_siftgpu.exe" /pdbtype:sept /libpath:"../../lib" 78 | 79 | !ENDIF 80 | 81 | # Begin Target 82 | 83 | # Name "SiftGPU_Server - Win32 Release" 84 | # Name "SiftGPU_Server - Win32 Debug" 85 | # Begin Group "Source Files" 86 | 87 | # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" 88 | # Begin Source File 89 | 90 | SOURCE=..\..\src\ServerSiftGPU\server.cpp 91 | # End Source File 92 | # End Group 93 | # Begin Group "Header Files" 94 | 95 | # PROP Default_Filter "h;hpp;hxx;hm;inl" 96 | # End Group 97 | # Begin Group "Resource Files" 98 | 99 | # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" 100 | # End Group 101 | # End Target 102 | # End Project 103 | -------------------------------------------------------------------------------- /msvc/ServerSiftGPU/SiftGPU_Server.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /msvc/SiftGPU.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "SiftGPU"=.\SiftGPU\SiftGPU.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Project: "SiftGPU_Server"=.\ServerSiftGPU\SiftGPU_Server.dsp - Package Owner=<4> 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<4> 25 | {{{ 26 | Begin Project Dependency 27 | Project_Dep_Name SiftGPU 28 | End Project Dependency 29 | }}} 30 | 31 | ############################################################################### 32 | 33 | Project: "SimpleSIFT"=.\TestWin\SimpleSIFT.dsp - Package Owner=<4> 34 | 35 | Package=<5> 36 | {{{ 37 | }}} 38 | 39 | Package=<4> 40 | {{{ 41 | Begin Project Dependency 42 | Project_Dep_Name SiftGPU 43 | End Project Dependency 44 | }}} 45 | 46 | ############################################################################### 47 | 48 | Project: "Speed"=.\TestWin\Speed.dsp - Package Owner=<4> 49 | 50 | Package=<5> 51 | {{{ 52 | }}} 53 | 54 | Package=<4> 55 | {{{ 56 | Begin Project Dependency 57 | Project_Dep_Name SiftGPU 58 | End Project Dependency 59 | }}} 60 | 61 | ############################################################################### 62 | 63 | Project: "TestBase"=.\TestWin\TestBase.dsp - Package Owner=<4> 64 | 65 | Package=<5> 66 | {{{ 67 | }}} 68 | 69 | Package=<4> 70 | {{{ 71 | Begin Project Dependency 72 | Project_Dep_Name SiftGPU 73 | End Project Dependency 74 | }}} 75 | 76 | ############################################################################### 77 | 78 | Project: "TestWin"=.\TestWin\TestWin.dsp - Package Owner=<4> 79 | 80 | Package=<5> 81 | {{{ 82 | }}} 83 | 84 | Package=<4> 85 | {{{ 86 | Begin Project Dependency 87 | Project_Dep_Name TestBase 88 | End Project Dependency 89 | }}} 90 | 91 | ############################################################################### 92 | 93 | Project: "TestWinGlut"=.\TestWin\TestWinGlut.dsp - Package Owner=<4> 94 | 95 | Package=<5> 96 | {{{ 97 | }}} 98 | 99 | Package=<4> 100 | {{{ 101 | Begin Project Dependency 102 | Project_Dep_Name TestBase 103 | End Project Dependency 104 | }}} 105 | 106 | ############################################################################### 107 | 108 | Global: 109 | 110 | Package=<5> 111 | {{{ 112 | }}} 113 | 114 | Package=<3> 115 | {{{ 116 | }}} 117 | 118 | ############################################################################### 119 | 120 | -------------------------------------------------------------------------------- /msvc/SiftGPU.sdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU.sdf -------------------------------------------------------------------------------- /msvc/SiftGPU.v12.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU.v12.suo -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/CLTexImage.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/CLTexImage.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/FrameBufferObject.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/FrameBufferObject.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/GLTexImage.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/GLTexImage.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/GlobalUtil.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/GlobalUtil.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/ProgramCL.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/ProgramCL.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/ProgramGLSL.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/ProgramGLSL.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/ProgramGPU.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/ProgramGPU.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/PyramidCL.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/PyramidCL.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/PyramidGL.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/PyramidGL.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/SIFTGPU.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/SIFTGPU.pdb -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/ServerSiftGPU.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/ServerSiftGPU.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/ShaderMan.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/ShaderMan.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/SiftGPU.log: -------------------------------------------------------------------------------- 1 |  SiftPyramid.cpp 2 | SiftMatch.cpp 3 | SiftGPU.cpp 4 | ShaderMan.cpp 5 | ServerSiftGPU.cpp 6 | f:\projects\stitch\c++\gpu-sift\siftgpu\src\serversiftgpu\serversiftgpu.cpp(200): warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings 7 | c:\program files (x86)\windows kits\8.1\include\um\winsock2.h(2238) : 参见“gethostbyname”的声明 8 | PyramidGL.cpp 9 | PyramidCL.cpp 10 | ProgramGPU.cpp 11 | ProgramGLSL.cpp 12 | ProgramCL.cpp 13 | GLTexImage.cpp 14 | GlobalUtil.cpp 15 | FrameBufferObject.cpp 16 | CLTexImage.cpp 17 | 正在生成代码... 18 | CLTexImage.obj : warning LNK4075: 忽略“/EDITANDCONTINUE”(由于“/SAFESEH”规范) 19 | 正在创建库 ../../lib/SIFTGPU_d.lib 和对象 ../../lib/SIFTGPU_d.exp 20 | SiftGPU.vcxproj -> F:\Projects\Stitch\C++\GPU-SIFT\SiftGPU\msvc\SiftGPU\..\..\bin\SiftGPU_d.dll 21 | -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/SiftGPU.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/SiftGPU.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/SiftGPU.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/SiftGPU.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/SiftGPU.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/SiftGPU.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/SiftGPU.tlog/SiftGPU.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v120:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit 2 | Debug|Win32|F:\Projects\Stitch\C++\GPU-SIFT\SiftGPU\msvc\| 3 | -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/SiftGPU.tlog/SiftGPU.write.1u.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/SiftGPU.tlog/SiftGPU.write.1u.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/SiftGPU.tlog/cl.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/SiftGPU.tlog/cl.command.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/SiftGPU.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/SiftGPU.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/SiftGPU.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/SiftGPU.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/SiftGPU.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/SiftGPU.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/SiftGPU_d.Build.CppClean.log: -------------------------------------------------------------------------------- 1 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\vc120.pdb 2 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\vc120.idb 3 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\clteximage.obj 4 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\framebufferobject.obj 5 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\globalutil.obj 6 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\glteximage.obj 7 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\programcl.obj 8 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\programglsl.obj 9 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\programgpu.obj 10 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\pyramidcl.obj 11 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\pyramidgl.obj 12 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\serversiftgpu.obj 13 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\shaderman.obj 14 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\siftgpu.obj 15 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\siftmatch.obj 16 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\siftpyramid.obj 17 | f:\projects\stitch\c++\gpu-sift\siftgpu\bin\siftgpu_d.ilk 18 | f:\projects\stitch\c++\gpu-sift\siftgpu\bin\siftgpu_d.dll 19 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\siftgpu.pdb 20 | f:\projects\stitch\c++\gpu-sift\siftgpu\bin\siftgpu_d.lib 21 | f:\projects\stitch\c++\gpu-sift\siftgpu\bin\siftgpu_d.exp 22 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\..\..\bin\siftgpu_d.dll 23 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\siftgpu.tlog\cl.command.1.tlog 24 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\siftgpu.tlog\cl.read.1.tlog 25 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\siftgpu.tlog\cl.write.1.tlog 26 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\siftgpu.tlog\link.command.1.tlog 27 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\siftgpu.tlog\link.read.1.tlog 28 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\siftgpu.tlog\link.write.1.tlog 29 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug\siftgpu.tlog\siftgpu.write.1u.tlog 30 | -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/SiftMatch.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/SiftMatch.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/SiftPyramid.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/SiftPyramid.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/vc120.idb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/vc120.idb -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug/vc120.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug/vc120.pdb -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/CLTexImage.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/CLTexImage.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/FrameBufferObject.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/FrameBufferObject.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/GLTexImage.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/GLTexImage.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/GlobalUtil.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/GlobalUtil.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/ProgramCL.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/ProgramCL.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/ProgramGLSL.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/ProgramGLSL.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/ProgramGPU.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/ProgramGPU.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/PyramidCL.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/PyramidCL.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/PyramidGL.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/PyramidGL.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/SIFTGPU.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/SIFTGPU.pdb -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/ServerSiftGPU.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/ServerSiftGPU.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/ShaderMan.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/ShaderMan.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/SiftGPU.log: -------------------------------------------------------------------------------- 1 |  SiftPyramid.cpp 2 | SiftMatch.cpp 3 | SiftGPU.cpp 4 | ..\..\src\SiftGPU\SiftGPU.cpp(1372): warning C4267: “return”: 从“size_t”转换到“int”,可能丢失数据 5 | ShaderMan.cpp 6 | ServerSiftGPU.cpp 7 | ..\..\src\ServerSiftGPU\ServerSiftGPU.cpp(200): warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings 8 | C:\Program Files (x86)\Windows Kits\8.1\Include\um\winsock2.h(2238) : 参见“gethostbyname”的声明 9 | ..\..\src\ServerSiftGPU\ServerSiftGPU.cpp(455): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 10 | ..\..\src\ServerSiftGPU\ServerSiftGPU.cpp(476): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 11 | ..\..\src\ServerSiftGPU\ServerSiftGPU.cpp(489): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 12 | ..\..\src\ServerSiftGPU\ServerSiftGPU.cpp(559): warning C4244: “参数”: 从“__int64”转换到“int”,可能丢失数据 13 | PyramidGL.cpp 14 | PyramidCL.cpp 15 | ProgramGPU.cpp 16 | ProgramGLSL.cpp 17 | ProgramCL.cpp 18 | GLTexImage.cpp 19 | GlobalUtil.cpp 20 | FrameBufferObject.cpp 21 | CLTexImage.cpp 22 | 正在生成代码... 23 | 正在创建库 ../../lib/SIFTGPU_d.lib 和对象 ../../lib/SIFTGPU_d.exp 24 | SiftGPU.vcxproj -> F:\Projects\Stitch\C++\GPU-SIFT\SiftGPU\msvc\SiftGPU\..\..\bin\SiftGPU_d.dll 25 | -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/SiftGPU.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/SiftGPU.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/SiftGPU.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/SiftGPU.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/SiftGPU.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/SiftGPU.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/SiftGPU.tlog/SiftGPU.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v120:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit 2 | Debug|x64|F:\Projects\Stitch\C++\GPU-SIFT\SiftGPU\msvc\| 3 | -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/SiftGPU.tlog/SiftGPU.write.1u.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/SiftGPU.tlog/SiftGPU.write.1u.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/SiftGPU.tlog/cl.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/SiftGPU.tlog/cl.command.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/SiftGPU.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/SiftGPU.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/SiftGPU.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/SiftGPU.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/SiftGPU.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/SiftGPU.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/SiftGPU_d.Build.CppClean.log: -------------------------------------------------------------------------------- 1 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\vc120.pdb 2 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\vc120.idb 3 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\clteximage.obj 4 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\framebufferobject.obj 5 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\globalutil.obj 6 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\glteximage.obj 7 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\programcl.obj 8 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\programglsl.obj 9 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\programgpu.obj 10 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\pyramidcl.obj 11 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\pyramidgl.obj 12 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\serversiftgpu.obj 13 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\shaderman.obj 14 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\siftgpu.obj 15 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\siftmatch.obj 16 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\siftpyramid.obj 17 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\siftgpu.tlog\cl.command.1.tlog 18 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\siftgpu.tlog\cl.read.1.tlog 19 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\siftgpu.tlog\cl.write.1.tlog 20 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\siftgpu.tlog\link.command.1.tlog 21 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\siftgpu.tlog\link.read.1.tlog 22 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\debug_x64\siftgpu.tlog\link.write.1.tlog 23 | -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/SiftMatch.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/SiftMatch.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/SiftPyramid.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/SiftPyramid.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/vc120.idb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/vc120.idb -------------------------------------------------------------------------------- /msvc/SiftGPU/Debug_x64/vc120.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Debug_x64/vc120.pdb -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/CLTexImage.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/CLTexImage.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/FrameBufferObject.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/FrameBufferObject.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/GLTexImage.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/GLTexImage.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/GlobalUtil.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/GlobalUtil.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/ProgramCL.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/ProgramCL.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/ProgramGLSL.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/ProgramGLSL.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/ProgramGPU.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/ProgramGPU.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/PyramidCL.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/PyramidCL.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/PyramidGL.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/PyramidGL.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/ServerSiftGPU.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/ServerSiftGPU.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/ShaderMan.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/ShaderMan.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/SiftGPU.Build.CppClean.log: -------------------------------------------------------------------------------- 1 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\vc120.pdb 2 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\siftpyramid.obj 3 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\siftmatch.obj 4 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\siftgpu.obj 5 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\shaderman.obj 6 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\serversiftgpu.obj 7 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\pyramidgl.obj 8 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\pyramidcl.obj 9 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\programgpu.obj 10 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\programglsl.obj 11 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\programcl.obj 12 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\glteximage.obj 13 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\globalutil.obj 14 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\framebufferobject.obj 15 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\clteximage.obj 16 | f:\projects\stitch\c++\gpu-sift\siftgpu\bin\siftgpu.dll 17 | f:\projects\stitch\c++\gpu-sift\siftgpu\bin\siftgpu.lib 18 | f:\projects\stitch\c++\gpu-sift\siftgpu\bin\siftgpu.exp 19 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\..\..\bin\siftgpu.dll 20 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\siftgpu.tlog\cl.command.1.tlog 21 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\siftgpu.tlog\cl.read.1.tlog 22 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\siftgpu.tlog\cl.write.1.tlog 23 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\siftgpu.tlog\link.command.1.tlog 24 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\siftgpu.tlog\link.read.1.tlog 25 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\siftgpu.tlog\link.write.1.tlog 26 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release\siftgpu.tlog\siftgpu.write.1u.tlog 27 | -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/SiftGPU.log: -------------------------------------------------------------------------------- 1 |  CLTexImage.cpp 2 | FrameBufferObject.cpp 3 | GlobalUtil.cpp 4 | GLTexImage.cpp 5 | ProgramCL.cpp 6 | ProgramGLSL.cpp 7 | ProgramGPU.cpp 8 | PyramidCL.cpp 9 | PyramidGL.cpp 10 | ServerSiftGPU.cpp 11 | ..\..\src\ServerSiftGPU\ServerSiftGPU.cpp(200): warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings 12 | C:\Program Files (x86)\Windows Kits\8.1\Include\um\winsock2.h(2238) : 参见“gethostbyname”的声明 13 | ShaderMan.cpp 14 | SiftGPU.cpp 15 | SiftMatch.cpp 16 | SiftPyramid.cpp 17 | 正在生成代码... 18 | 正在创建库 ../../lib/SIFTGPU.lib 和对象 ../../lib/SIFTGPU.exp 19 | SiftGPU.vcxproj -> F:\Projects\Stitch\C++\GPU-SIFT\SiftGPU\msvc\SiftGPU\..\..\bin\SiftGPU.dll 20 | -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/SiftGPU.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/SiftGPU.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/SiftGPU.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/SiftGPU.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/SiftGPU.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/SiftGPU.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/SiftGPU.tlog/SiftGPU.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v120:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit 2 | Release|Win32|F:\Projects\Stitch\C++\GPU-SIFT\SiftGPU\msvc\| 3 | -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/SiftGPU.tlog/SiftGPU.write.1u.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/SiftGPU.tlog/SiftGPU.write.1u.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/SiftGPU.tlog/cl.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/SiftGPU.tlog/cl.command.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/SiftGPU.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/SiftGPU.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/SiftGPU.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/SiftGPU.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/SiftGPU.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/SiftGPU.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/SiftMatch.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/SiftMatch.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/SiftPyramid.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/SiftPyramid.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release/vc120.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release/vc120.pdb -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/CLTexImage.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/CLTexImage.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/FrameBufferObject.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/FrameBufferObject.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/GLTexImage.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/GLTexImage.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/GlobalUtil.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/GlobalUtil.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/ProgramCL.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/ProgramCL.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/ProgramGLSL.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/ProgramGLSL.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/ProgramGPU.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/ProgramGPU.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/PyramidCL.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/PyramidCL.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/PyramidGL.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/PyramidGL.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/ServerSiftGPU.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/ServerSiftGPU.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/ShaderMan.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/ShaderMan.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/SiftGPU.Build.CppClean.log: -------------------------------------------------------------------------------- 1 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\vc120.pdb 2 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\siftpyramid.obj 3 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\siftmatch.obj 4 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\siftgpu.obj 5 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\shaderman.obj 6 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\serversiftgpu.obj 7 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\pyramidgl.obj 8 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\pyramidcl.obj 9 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\programgpu.obj 10 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\programglsl.obj 11 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\programcl.obj 12 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\glteximage.obj 13 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\globalutil.obj 14 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\framebufferobject.obj 15 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\clteximage.obj 16 | f:\projects\stitch\c++\gpu-sift\siftgpu\bin\siftgpu.dll 17 | f:\projects\stitch\c++\gpu-sift\siftgpu\lib\siftgpu.lib 18 | f:\projects\stitch\c++\gpu-sift\siftgpu\lib\siftgpu.exp 19 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\..\..\bin\siftgpu.dll 20 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\siftgpu.tlog\cl.command.1.tlog 21 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\siftgpu.tlog\cl.read.1.tlog 22 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\siftgpu.tlog\cl.write.1.tlog 23 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\siftgpu.tlog\link.command.1.tlog 24 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\siftgpu.tlog\link.read.1.tlog 25 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\siftgpu.tlog\link.write.1.tlog 26 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\siftgpu\release_x64\siftgpu.tlog\siftgpu.write.1u.tlog 27 | -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/SiftGPU.log: -------------------------------------------------------------------------------- 1 |  CLTexImage.cpp 2 | FrameBufferObject.cpp 3 | GlobalUtil.cpp 4 | GLTexImage.cpp 5 | ProgramCL.cpp 6 | ProgramGLSL.cpp 7 | ProgramGPU.cpp 8 | PyramidCL.cpp 9 | PyramidGL.cpp 10 | ServerSiftGPU.cpp 11 | ..\..\src\ServerSiftGPU\ServerSiftGPU.cpp(200): warning C4996: 'gethostbyname': Use getaddrinfo() or GetAddrInfoW() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings 12 | C:\Program Files (x86)\Windows Kits\8.1\Include\um\winsock2.h(2238) : 参见“gethostbyname”的声明 13 | ..\..\src\ServerSiftGPU\ServerSiftGPU.cpp(455): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 14 | ..\..\src\ServerSiftGPU\ServerSiftGPU.cpp(476): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 15 | ..\..\src\ServerSiftGPU\ServerSiftGPU.cpp(489): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 16 | ..\..\src\ServerSiftGPU\ServerSiftGPU.cpp(559): warning C4244: “参数”: 从“__int64”转换到“int”,可能丢失数据 17 | ShaderMan.cpp 18 | SiftGPU.cpp 19 | ..\..\src\SiftGPU\SiftGPU.cpp(1372): warning C4267: “return”: 从“size_t”转换到“int”,可能丢失数据 20 | SiftMatch.cpp 21 | SiftPyramid.cpp 22 | 正在生成代码... 23 | 正在创建库 ../../lib/SIFTGPU.lib 和对象 ../../lib/SIFTGPU.exp 24 | SiftGPU.vcxproj -> F:\Projects\Stitch\C++\GPU-SIFT\SiftGPU\msvc\SiftGPU\..\..\bin\SiftGPU.dll 25 | -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/SiftGPU.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/SiftGPU.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/SiftGPU.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/SiftGPU.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/SiftGPU.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/SiftGPU.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/SiftGPU.tlog/SiftGPU.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v120:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit 2 | Release|x64|F:\Projects\Stitch\C++\GPU-SIFT\SiftGPU\msvc\| 3 | -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/SiftGPU.tlog/SiftGPU.write.1u.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/SiftGPU.tlog/SiftGPU.write.1u.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/SiftGPU.tlog/cl.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/SiftGPU.tlog/cl.command.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/SiftGPU.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/SiftGPU.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/SiftGPU.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/SiftGPU.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/SiftGPU.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/SiftGPU.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/SiftMatch.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/SiftMatch.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/SiftPyramid.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/SiftPyramid.obj -------------------------------------------------------------------------------- /msvc/SiftGPU/Release_x64/vc120.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/SiftGPU/Release_x64/vc120.pdb -------------------------------------------------------------------------------- /msvc/SiftGPU/SiftGPU.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | CreateNewSiftGPU @1 3 | CreateNewSiftMatchGPU @2 4 | CreateLiteWindow @3 5 | CreateComboSiftGPU @4 6 | CreateRemoteSiftGPU @5 7 | -------------------------------------------------------------------------------- /msvc/SiftGPU/SiftGPU.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /msvc/TestWin/Debug/SimpleSIFT.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/Debug/SimpleSIFT.obj -------------------------------------------------------------------------------- /msvc/TestWin/Debug/SimpleSIFT_d.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/Debug/SimpleSIFT_d.pdb -------------------------------------------------------------------------------- /msvc/TestWin/Debug/vc120.idb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/Debug/vc120.idb -------------------------------------------------------------------------------- /msvc/TestWin/Debug/vc120.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/Debug/vc120.pdb -------------------------------------------------------------------------------- /msvc/TestWin/MultiThreadSIFT.dsp: -------------------------------------------------------------------------------- 1 | # Microsoft Developer Studio Project File - Name="MultiThreadSIFT" - Package Owner=<4> 2 | # Microsoft Developer Studio Generated Build File, Format Version 6.00 3 | # ** DO NOT EDIT ** 4 | 5 | # TARGTYPE "Win32 (x86) Console Application" 0x0103 6 | 7 | CFG=MultiThreadSIFT - Win32 Debug 8 | !MESSAGE This is not a valid makefile. To build this project using NMAKE, 9 | !MESSAGE use the Export Makefile command and run 10 | !MESSAGE 11 | !MESSAGE NMAKE /f "MultiThreadSIFT.mak". 12 | !MESSAGE 13 | !MESSAGE You can specify a configuration when running NMAKE 14 | !MESSAGE by defining the macro CFG on the command line. For example: 15 | !MESSAGE 16 | !MESSAGE NMAKE /f "MultiThreadSIFT.mak" CFG="MultiThreadSIFT - Win32 Debug" 17 | !MESSAGE 18 | !MESSAGE Possible choices for configuration are: 19 | !MESSAGE 20 | !MESSAGE "MultiThreadSIFT - Win32 Release" (based on "Win32 (x86) Console Application") 21 | !MESSAGE "MultiThreadSIFT - Win32 Debug" (based on "Win32 (x86) Console Application") 22 | !MESSAGE 23 | 24 | # Begin Project 25 | # PROP AllowPerConfigDependencies 0 26 | # PROP Scc_ProjName "" 27 | # PROP Scc_LocalPath "" 28 | CPP=cl.exe 29 | RSC=rc.exe 30 | 31 | !IF "$(CFG)" == "MultiThreadSIFT - Win32 Release" 32 | 33 | # PROP BASE Use_MFC 0 34 | # PROP BASE Use_Debug_Libraries 0 35 | # PROP BASE Output_Dir "Release" 36 | # PROP BASE Intermediate_Dir "Release" 37 | # PROP BASE Target_Dir "" 38 | # PROP Use_MFC 0 39 | # PROP Use_Debug_Libraries 0 40 | # PROP Output_Dir "Release" 41 | # PROP Intermediate_Dir "Release" 42 | # PROP Ignore_Export_Lib 0 43 | # PROP Target_Dir "" 44 | # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c 45 | # ADD CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c 46 | # ADD BASE RSC /l 0x409 /d "NDEBUG" 47 | # ADD RSC /l 0x409 /d "NDEBUG" 48 | BSC32=bscmake.exe 49 | # ADD BASE BSC32 /nologo 50 | # ADD BSC32 /nologo 51 | LINK32=link.exe 52 | # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 53 | # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 /out:"../../bin/MultiThreadSIFT.exe" 54 | 55 | !ELSEIF "$(CFG)" == "MultiThreadSIFT - Win32 Debug" 56 | 57 | # PROP BASE Use_MFC 0 58 | # PROP BASE Use_Debug_Libraries 1 59 | # PROP BASE Output_Dir "Debug" 60 | # PROP BASE Intermediate_Dir "Debug" 61 | # PROP BASE Target_Dir "" 62 | # PROP Use_MFC 0 63 | # PROP Use_Debug_Libraries 1 64 | # PROP Output_Dir "Debug" 65 | # PROP Intermediate_Dir "Debug" 66 | # PROP Ignore_Export_Lib 0 67 | # PROP Target_Dir "" 68 | # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c 69 | # ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c 70 | # ADD BASE RSC /l 0x409 /d "_DEBUG" 71 | # ADD RSC /l 0x409 /d "_DEBUG" 72 | BSC32=bscmake.exe 73 | # ADD BASE BSC32 /nologo 74 | # ADD BSC32 /nologo 75 | LINK32=link.exe 76 | # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept 77 | # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../bin/MultiThreadSIFT_d.exe" /pdbtype:sept 78 | 79 | !ENDIF 80 | 81 | # Begin Target 82 | 83 | # Name "MultiThreadSIFT - Win32 Release" 84 | # Name "MultiThreadSIFT - Win32 Debug" 85 | # Begin Group "Source Files" 86 | 87 | # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" 88 | # Begin Source File 89 | 90 | SOURCE=..\..\src\TestWin\MultiThreadSIFT.cpp 91 | # End Source File 92 | # End Group 93 | # Begin Group "Header Files" 94 | 95 | # PROP Default_Filter "h;hpp;hxx;hm;inl" 96 | # End Group 97 | # Begin Group "Resource Files" 98 | 99 | # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" 100 | # End Group 101 | # End Target 102 | # End Project 103 | -------------------------------------------------------------------------------- /msvc/TestWin/Release/SimpleSIFT.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/Release/SimpleSIFT.obj -------------------------------------------------------------------------------- /msvc/TestWin/Release/vc120.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/Release/vc120.pdb -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT.dsp: -------------------------------------------------------------------------------- 1 | # Microsoft Developer Studio Project File - Name="SimpleSIFT" - Package Owner=<4> 2 | # Microsoft Developer Studio Generated Build File, Format Version 6.00 3 | # ** DO NOT EDIT ** 4 | 5 | # TARGTYPE "Win32 (x86) Console Application" 0x0103 6 | 7 | CFG=SimpleSIFT - Win32 Debug 8 | !MESSAGE This is not a valid makefile. To build this project using NMAKE, 9 | !MESSAGE use the Export Makefile command and run 10 | !MESSAGE 11 | !MESSAGE NMAKE /f "SimpleSIFT.mak". 12 | !MESSAGE 13 | !MESSAGE You can specify a configuration when running NMAKE 14 | !MESSAGE by defining the macro CFG on the command line. For example: 15 | !MESSAGE 16 | !MESSAGE NMAKE /f "SimpleSIFT.mak" CFG="SimpleSIFT - Win32 Debug" 17 | !MESSAGE 18 | !MESSAGE Possible choices for configuration are: 19 | !MESSAGE 20 | !MESSAGE "SimpleSIFT - Win32 Release" (based on "Win32 (x86) Console Application") 21 | !MESSAGE "SimpleSIFT - Win32 Debug" (based on "Win32 (x86) Console Application") 22 | !MESSAGE 23 | 24 | # Begin Project 25 | # PROP AllowPerConfigDependencies 0 26 | # PROP Scc_ProjName "" 27 | # PROP Scc_LocalPath "" 28 | CPP=cl.exe 29 | RSC=rc.exe 30 | 31 | !IF "$(CFG)" == "SimpleSIFT - Win32 Release" 32 | 33 | # PROP BASE Use_MFC 0 34 | # PROP BASE Use_Debug_Libraries 0 35 | # PROP BASE Output_Dir "Release" 36 | # PROP BASE Intermediate_Dir "Release" 37 | # PROP BASE Target_Dir "" 38 | # PROP Use_MFC 0 39 | # PROP Use_Debug_Libraries 0 40 | # PROP Output_Dir "Release" 41 | # PROP Intermediate_Dir "Release" 42 | # PROP Ignore_Export_Lib 0 43 | # PROP Target_Dir "" 44 | # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c 45 | # ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c 46 | # ADD BASE RSC /l 0x409 /d "NDEBUG" 47 | # ADD RSC /l 0x409 /d "NDEBUG" 48 | BSC32=bscmake.exe 49 | # ADD BASE BSC32 /nologo 50 | # ADD BSC32 /nologo 51 | LINK32=link.exe 52 | # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 53 | # ADD LINK32 kernel32.lib /nologo /subsystem:console /machine:I386 /out:"../../bin/SimpleSIFT.exe" 54 | 55 | !ELSEIF "$(CFG)" == "SimpleSIFT - Win32 Debug" 56 | 57 | # PROP BASE Use_MFC 0 58 | # PROP BASE Use_Debug_Libraries 1 59 | # PROP BASE Output_Dir "Debug" 60 | # PROP BASE Intermediate_Dir "Debug" 61 | # PROP BASE Target_Dir "" 62 | # PROP Use_MFC 0 63 | # PROP Use_Debug_Libraries 1 64 | # PROP Output_Dir "Debug" 65 | # PROP Intermediate_Dir "Debug" 66 | # PROP Ignore_Export_Lib 0 67 | # PROP Target_Dir "" 68 | # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c 69 | # ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c 70 | # ADD BASE RSC /l 0x409 /d "_DEBUG" 71 | # ADD RSC /l 0x409 /d "_DEBUG" 72 | BSC32=bscmake.exe 73 | # ADD BASE BSC32 /nologo 74 | # ADD BSC32 /nologo 75 | LINK32=link.exe 76 | # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept 77 | # ADD LINK32 kernel32.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../bin/SimpleSIFT_d.exe" /pdbtype:sept 78 | 79 | !ENDIF 80 | 81 | # Begin Target 82 | 83 | # Name "SimpleSIFT - Win32 Release" 84 | # Name "SimpleSIFT - Win32 Debug" 85 | # Begin Group "Source Files" 86 | 87 | # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" 88 | # Begin Source File 89 | 90 | SOURCE=..\..\src\TestWin\SimpleSIFT.cpp 91 | # End Source File 92 | # End Group 93 | # Begin Group "Header Files" 94 | 95 | # PROP Default_Filter "h;hpp;hxx;hm;inl" 96 | # End Group 97 | # Begin Group "Resource Files" 98 | 99 | # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" 100 | # End Group 101 | # End Target 102 | # End Project 103 | -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug/SimpleSIFT.log: -------------------------------------------------------------------------------- 1 |  SimpleSIFT.cpp 2 | LINK : 没有找到 ..\..\bin\SimpleSIFT_d.exe 或上一个增量链接没有生成它;正在执行完全链接 3 | SimpleSIFT.obj : warning LNK4075: 忽略“/EDITANDCONTINUE”(由于“/SAFESEH”规范) 4 | SimpleSIFT.vcxproj -> F:\Projects\Stitch\C++\GPU-SIFT\SiftGPU\msvc\TestWin\..\..\bin\SimpleSIFT_d.exe 5 | -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug/SimpleSIFT.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Debug/SimpleSIFT.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug/SimpleSIFT.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Debug/SimpleSIFT.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug/SimpleSIFT.tlog/SimpleSIFT.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v120:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit 2 | Debug|Win32|F:\Projects\Stitch\C++\GPU-SIFT\SiftGPU\msvc\| 3 | -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug/SimpleSIFT.tlog/cl.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Debug/SimpleSIFT.tlog/cl.command.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug/SimpleSIFT.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Debug/SimpleSIFT.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug/SimpleSIFT.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Debug/SimpleSIFT.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug/SimpleSIFT.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Debug/SimpleSIFT.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug/SimpleSIFT_d.Build.CppClean.log: -------------------------------------------------------------------------------- 1 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\..\..\bin\simplesift_d.exe 2 | -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug_x64/SimpleSIFT.log: -------------------------------------------------------------------------------- 1 |  SimpleSIFT.cpp 2 | SimpleSIFT.vcxproj -> F:\Projects\Stitch\C++\GPU-SIFT\SiftGPU\msvc\TestWin\..\..\bin\SimpleSIFT_d.exe 3 | -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug_x64/SimpleSIFT.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Debug_x64/SimpleSIFT.obj -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug_x64/SimpleSIFT.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Debug_x64/SimpleSIFT.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug_x64/SimpleSIFT.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Debug_x64/SimpleSIFT.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug_x64/SimpleSIFT.tlog/SimpleSIFT.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v120:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit 2 | Debug|x64|F:\Projects\Stitch\C++\GPU-SIFT\SiftGPU\msvc\| 3 | -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug_x64/SimpleSIFT.tlog/cl.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Debug_x64/SimpleSIFT.tlog/cl.command.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug_x64/SimpleSIFT.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Debug_x64/SimpleSIFT.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug_x64/SimpleSIFT.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Debug_x64/SimpleSIFT.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug_x64/SimpleSIFT.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Debug_x64/SimpleSIFT.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug_x64/SimpleSIFT_d.Build.CppClean.log: -------------------------------------------------------------------------------- 1 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\simplesift_debug_x64\vc120.pdb 2 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\simplesift_debug_x64\vc120.idb 3 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\simplesift_debug_x64\simplesift.obj 4 | f:\projects\stitch\c++\gpu-sift\siftgpu\bin\simplesift_d.ilk 5 | f:\projects\stitch\c++\gpu-sift\siftgpu\bin\simplesift_d.exe 6 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\debug\simplesift_d.pdb 7 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\..\..\bin\simplesift_d.exe 8 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\simplesift_debug_x64\simplesift.tlog\cl.command.1.tlog 9 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\simplesift_debug_x64\simplesift.tlog\cl.read.1.tlog 10 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\simplesift_debug_x64\simplesift.tlog\cl.write.1.tlog 11 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\simplesift_debug_x64\simplesift.tlog\link.command.1.tlog 12 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\simplesift_debug_x64\simplesift.tlog\link.read.1.tlog 13 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\simplesift_debug_x64\simplesift.tlog\link.write.1.tlog 14 | -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug_x64/vc120.idb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Debug_x64/vc120.idb -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Debug_x64/vc120.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Debug_x64/vc120.pdb -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release/SimpleSIFT.Build.CppClean.log: -------------------------------------------------------------------------------- 1 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\..\..\bin\simplesift.exe 2 | -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release/SimpleSIFT.log: -------------------------------------------------------------------------------- 1 |  SimpleSIFT.cpp 2 | SimpleSIFT.vcxproj -> F:\Projects\Stitch\C++\GPU-SIFT\SiftGPU\msvc\TestWin\..\..\bin\SimpleSIFT.exe 3 | -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release/SimpleSIFT.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Release/SimpleSIFT.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release/SimpleSIFT.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Release/SimpleSIFT.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release/SimpleSIFT.tlog/SimpleSIFT.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v120:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit 2 | Release|Win32|F:\Projects\Stitch\C++\GPU-SIFT\SiftGPU\msvc\| 3 | -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release/SimpleSIFT.tlog/cl.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Release/SimpleSIFT.tlog/cl.command.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release/SimpleSIFT.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Release/SimpleSIFT.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release/SimpleSIFT.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Release/SimpleSIFT.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release/SimpleSIFT.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Release/SimpleSIFT.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release_x64/SimpleSIFT.Build.CppClean.log: -------------------------------------------------------------------------------- 1 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\simplesift_release_x64\vc120.pdb 2 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\simplesift_release_x64\simplesift.obj 3 | f:\projects\stitch\c++\gpu-sift\siftgpu\bin\simplesift.exe 4 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\..\..\bin\simplesift.exe 5 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\simplesift_release_x64\simplesift.tlog\cl.command.1.tlog 6 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\simplesift_release_x64\simplesift.tlog\cl.read.1.tlog 7 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\simplesift_release_x64\simplesift.tlog\cl.write.1.tlog 8 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\simplesift_release_x64\simplesift.tlog\link.command.1.tlog 9 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\simplesift_release_x64\simplesift.tlog\link.read.1.tlog 10 | f:\projects\stitch\c++\gpu-sift\siftgpu\msvc\testwin\simplesift_release_x64\simplesift.tlog\link.write.1.tlog 11 | -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release_x64/SimpleSIFT.log: -------------------------------------------------------------------------------- 1 |  SimpleSIFT.cpp 2 | SimpleSIFT.vcxproj -> F:\Projects\Stitch\C++\GPU-SIFT\SiftGPU\msvc\TestWin\..\..\bin\SimpleSIFT.exe 3 | -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release_x64/SimpleSIFT.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Release_x64/SimpleSIFT.obj -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release_x64/SimpleSIFT.tlog/CL.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Release_x64/SimpleSIFT.tlog/CL.read.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release_x64/SimpleSIFT.tlog/CL.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Release_x64/SimpleSIFT.tlog/CL.write.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release_x64/SimpleSIFT.tlog/SimpleSIFT.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v120:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit 2 | Release|x64|F:\Projects\Stitch\C++\GPU-SIFT\SiftGPU\msvc\| 3 | -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release_x64/SimpleSIFT.tlog/cl.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Release_x64/SimpleSIFT.tlog/cl.command.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release_x64/SimpleSIFT.tlog/link.command.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Release_x64/SimpleSIFT.tlog/link.command.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release_x64/SimpleSIFT.tlog/link.read.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Release_x64/SimpleSIFT.tlog/link.read.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release_x64/SimpleSIFT.tlog/link.write.1.tlog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Release_x64/SimpleSIFT.tlog/link.write.1.tlog -------------------------------------------------------------------------------- /msvc/TestWin/SimpleSIFT_Release_x64/vc120.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/msvc/TestWin/SimpleSIFT_Release_x64/vc120.pdb -------------------------------------------------------------------------------- /msvc/TestWin/Speed.dsp: -------------------------------------------------------------------------------- 1 | # Microsoft Developer Studio Project File - Name="Speed" - Package Owner=<4> 2 | # Microsoft Developer Studio Generated Build File, Format Version 6.00 3 | # ** DO NOT EDIT ** 4 | 5 | # TARGTYPE "Win32 (x86) Console Application" 0x0103 6 | 7 | CFG=Speed - Win32 Debug 8 | !MESSAGE This is not a valid makefile. To build this project using NMAKE, 9 | !MESSAGE use the Export Makefile command and run 10 | !MESSAGE 11 | !MESSAGE NMAKE /f "Speed.mak". 12 | !MESSAGE 13 | !MESSAGE You can specify a configuration when running NMAKE 14 | !MESSAGE by defining the macro CFG on the command line. For example: 15 | !MESSAGE 16 | !MESSAGE NMAKE /f "Speed.mak" CFG="Speed - Win32 Debug" 17 | !MESSAGE 18 | !MESSAGE Possible choices for configuration are: 19 | !MESSAGE 20 | !MESSAGE "Speed - Win32 Release" (based on "Win32 (x86) Console Application") 21 | !MESSAGE "Speed - Win32 Debug" (based on "Win32 (x86) Console Application") 22 | !MESSAGE 23 | 24 | # Begin Project 25 | # PROP AllowPerConfigDependencies 0 26 | # PROP Scc_ProjName "" 27 | # PROP Scc_LocalPath "" 28 | CPP=cl.exe 29 | RSC=rc.exe 30 | 31 | !IF "$(CFG)" == "Speed - Win32 Release" 32 | 33 | # PROP BASE Use_MFC 0 34 | # PROP BASE Use_Debug_Libraries 0 35 | # PROP BASE Output_Dir "Release" 36 | # PROP BASE Intermediate_Dir "Release" 37 | # PROP BASE Target_Dir "" 38 | # PROP Use_MFC 0 39 | # PROP Use_Debug_Libraries 0 40 | # PROP Output_Dir "Release" 41 | # PROP Intermediate_Dir "Release" 42 | # PROP Ignore_Export_Lib 0 43 | # PROP Target_Dir "" 44 | # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c 45 | # ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c 46 | # ADD BASE RSC /l 0x409 /d "NDEBUG" 47 | # ADD RSC /l 0x409 /d "NDEBUG" 48 | BSC32=bscmake.exe 49 | # ADD BASE BSC32 /nologo 50 | # ADD BSC32 /nologo 51 | LINK32=link.exe 52 | # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 53 | # ADD LINK32 kernel32.lib user32.lib gdi32.lib siftgpu.lib /nologo /subsystem:console /machine:I386 /out:"../../bin/speed.exe" /libpath:"../../lib" 54 | 55 | !ELSEIF "$(CFG)" == "Speed - Win32 Debug" 56 | 57 | # PROP BASE Use_MFC 0 58 | # PROP BASE Use_Debug_Libraries 1 59 | # PROP BASE Output_Dir "Debug" 60 | # PROP BASE Intermediate_Dir "Debug" 61 | # PROP BASE Target_Dir "" 62 | # PROP Use_MFC 0 63 | # PROP Use_Debug_Libraries 1 64 | # PROP Output_Dir "Debug" 65 | # PROP Intermediate_Dir "Debug" 66 | # PROP Ignore_Export_Lib 0 67 | # PROP Target_Dir "" 68 | # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c 69 | # ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c 70 | # ADD BASE RSC /l 0x409 /d "_DEBUG" 71 | # ADD RSC /l 0x409 /d "_DEBUG" 72 | BSC32=bscmake.exe 73 | # ADD BASE BSC32 /nologo 74 | # ADD BSC32 /nologo 75 | LINK32=link.exe 76 | # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept 77 | # ADD LINK32 kernel32.lib siftgpu_d.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../bin/speed_d.exe" /pdbtype:sept /libpath:"../../lib" 78 | 79 | !ENDIF 80 | 81 | # Begin Target 82 | 83 | # Name "Speed - Win32 Release" 84 | # Name "Speed - Win32 Debug" 85 | # Begin Group "Source Files" 86 | 87 | # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" 88 | # Begin Source File 89 | 90 | SOURCE=..\..\src\TestWin\speed.cpp 91 | # End Source File 92 | # End Group 93 | # Begin Group "Header Files" 94 | 95 | # PROP Default_Filter "h;hpp;hxx;hm;inl" 96 | # End Group 97 | # Begin Group "Resource Files" 98 | 99 | # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" 100 | # End Group 101 | # End Target 102 | # End Project 103 | -------------------------------------------------------------------------------- /msvc/TestWin/Speed.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /msvc/TestWin/TestBase.dsp: -------------------------------------------------------------------------------- 1 | # Microsoft Developer Studio Project File - Name="TestBase" - Package Owner=<4> 2 | # Microsoft Developer Studio Generated Build File, Format Version 6.00 3 | # ** DO NOT EDIT ** 4 | 5 | # TARGTYPE "Win32 (x86) Static Library" 0x0104 6 | 7 | CFG=TestBase - Win32 Debug 8 | !MESSAGE This is not a valid makefile. To build this project using NMAKE, 9 | !MESSAGE use the Export Makefile command and run 10 | !MESSAGE 11 | !MESSAGE NMAKE /f "TestBase.mak". 12 | !MESSAGE 13 | !MESSAGE You can specify a configuration when running NMAKE 14 | !MESSAGE by defining the macro CFG on the command line. For example: 15 | !MESSAGE 16 | !MESSAGE NMAKE /f "TestBase.mak" CFG="TestBase - Win32 Debug" 17 | !MESSAGE 18 | !MESSAGE Possible choices for configuration are: 19 | !MESSAGE 20 | !MESSAGE "TestBase - Win32 Release" (based on "Win32 (x86) Static Library") 21 | !MESSAGE "TestBase - Win32 Debug" (based on "Win32 (x86) Static Library") 22 | !MESSAGE 23 | 24 | # Begin Project 25 | # PROP AllowPerConfigDependencies 0 26 | # PROP Scc_ProjName "" 27 | # PROP Scc_LocalPath "" 28 | CPP=cl.exe 29 | RSC=rc.exe 30 | 31 | !IF "$(CFG)" == "TestBase - Win32 Release" 32 | 33 | # PROP BASE Use_MFC 0 34 | # PROP BASE Use_Debug_Libraries 0 35 | # PROP BASE Output_Dir "Release" 36 | # PROP BASE Intermediate_Dir "Release" 37 | # PROP BASE Target_Dir "" 38 | # PROP Use_MFC 0 39 | # PROP Use_Debug_Libraries 0 40 | # PROP Output_Dir "Release" 41 | # PROP Intermediate_Dir "Release" 42 | # PROP Target_Dir "" 43 | # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c 44 | # ADD CPP /nologo /W3 /GX /O2 /I "../../Include/" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c 45 | # ADD BASE RSC /l 0x409 /d "NDEBUG" 46 | # ADD RSC /l 0x409 /d "NDEBUG" 47 | BSC32=bscmake.exe 48 | # ADD BASE BSC32 /nologo 49 | # ADD BSC32 /nologo 50 | LIB32=link.exe -lib 51 | # ADD BASE LIB32 /nologo 52 | # ADD LIB32 /nologo /out:"..\..\lib\TestBase.lib" 53 | 54 | !ELSEIF "$(CFG)" == "TestBase - Win32 Debug" 55 | 56 | # PROP BASE Use_MFC 0 57 | # PROP BASE Use_Debug_Libraries 1 58 | # PROP BASE Output_Dir "Debug" 59 | # PROP BASE Intermediate_Dir "Debug" 60 | # PROP BASE Target_Dir "" 61 | # PROP Use_MFC 0 62 | # PROP Use_Debug_Libraries 1 63 | # PROP Output_Dir "Debug" 64 | # PROP Intermediate_Dir "Debug" 65 | # PROP Target_Dir "" 66 | # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c 67 | # ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../Include/" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c 68 | # ADD BASE RSC /l 0x409 /d "_DEBUG" 69 | # ADD RSC /l 0x409 /d "_DEBUG" 70 | BSC32=bscmake.exe 71 | # ADD BASE BSC32 /nologo 72 | # ADD BSC32 /nologo 73 | LIB32=link.exe -lib 74 | # ADD BASE LIB32 /nologo 75 | # ADD LIB32 /nologo /out:"..\..\lib\TestBase_d.lib" 76 | 77 | !ENDIF 78 | 79 | # Begin Target 80 | 81 | # Name "TestBase - Win32 Release" 82 | # Name "TestBase - Win32 Debug" 83 | # Begin Group "Source Files" 84 | 85 | # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" 86 | # Begin Source File 87 | 88 | SOURCE=..\..\src\TestWin\BasicTestWin.cpp 89 | # End Source File 90 | # End Group 91 | # Begin Group "Header Files" 92 | 93 | # PROP Default_Filter "h;hpp;hxx;hm;inl" 94 | # Begin Source File 95 | 96 | SOURCE=..\..\src\TestWin\BasicTestWin.h 97 | # End Source File 98 | # Begin Source File 99 | 100 | SOURCE=..\..\src\TestWin\GLTransform.h 101 | # End Source File 102 | # End Group 103 | # End Target 104 | # End Project 105 | -------------------------------------------------------------------------------- /msvc/TestWin/TestBase.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /msvc/TestWin/TestWin.dsp: -------------------------------------------------------------------------------- 1 | # Microsoft Developer Studio Project File - Name="TestWin" - Package Owner=<4> 2 | # Microsoft Developer Studio Generated Build File, Format Version 6.00 3 | # ** DO NOT EDIT ** 4 | 5 | # TARGTYPE "Win32 (x86) Application" 0x0101 6 | 7 | CFG=TestWin - Win32 Debug 8 | !MESSAGE This is not a valid makefile. To build this project using NMAKE, 9 | !MESSAGE use the Export Makefile command and run 10 | !MESSAGE 11 | !MESSAGE NMAKE /f "TestWin.mak". 12 | !MESSAGE 13 | !MESSAGE You can specify a configuration when running NMAKE 14 | !MESSAGE by defining the macro CFG on the command line. For example: 15 | !MESSAGE 16 | !MESSAGE NMAKE /f "TestWin.mak" CFG="TestWin - Win32 Debug" 17 | !MESSAGE 18 | !MESSAGE Possible choices for configuration are: 19 | !MESSAGE 20 | !MESSAGE "TestWin - Win32 Release" (based on "Win32 (x86) Application") 21 | !MESSAGE "TestWin - Win32 Debug" (based on "Win32 (x86) Application") 22 | !MESSAGE 23 | 24 | # Begin Project 25 | # PROP AllowPerConfigDependencies 0 26 | # PROP Scc_ProjName "" 27 | # PROP Scc_LocalPath "" 28 | CPP=cl.exe 29 | MTL=midl.exe 30 | RSC=rc.exe 31 | 32 | !IF "$(CFG)" == "TestWin - Win32 Release" 33 | 34 | # PROP BASE Use_MFC 0 35 | # PROP BASE Use_Debug_Libraries 0 36 | # PROP BASE Output_Dir "Release" 37 | # PROP BASE Intermediate_Dir "Release" 38 | # PROP BASE Target_Dir "" 39 | # PROP Use_MFC 0 40 | # PROP Use_Debug_Libraries 0 41 | # PROP Output_Dir "Release" 42 | # PROP Intermediate_Dir "Release" 43 | # PROP Ignore_Export_Lib 0 44 | # PROP Target_Dir "" 45 | # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /Yu"stdafx.h" /FD /c 46 | # ADD CPP /nologo /W3 /GX /O2 /I "../../Include/" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c 47 | # SUBTRACT CPP /YX /Yc /Yu 48 | # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 49 | # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 50 | # ADD BASE RSC /l 0x409 /d "NDEBUG" 51 | # ADD RSC /l 0x409 /d "NDEBUG" 52 | BSC32=bscmake.exe 53 | # ADD BASE BSC32 /nologo 54 | # ADD BSC32 /nologo 55 | LINK32=link.exe 56 | # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 57 | # ADD LINK32 kernel32.lib user32.lib gdi32.lib opengl32.lib siftgpu.lib testbase.lib /nologo /subsystem:console /machine:I386 /out:"../../bin/TestWin.exe" /libpath:"../../lib/" 58 | # SUBTRACT LINK32 /pdb:none 59 | 60 | !ELSEIF "$(CFG)" == "TestWin - Win32 Debug" 61 | 62 | # PROP BASE Use_MFC 0 63 | # PROP BASE Use_Debug_Libraries 1 64 | # PROP BASE Output_Dir "Debug" 65 | # PROP BASE Intermediate_Dir "Debug" 66 | # PROP BASE Target_Dir "" 67 | # PROP Use_MFC 0 68 | # PROP Use_Debug_Libraries 1 69 | # PROP Output_Dir "Debug" 70 | # PROP Intermediate_Dir "Debug" 71 | # PROP Ignore_Export_Lib 0 72 | # PROP Target_Dir "" 73 | # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c 74 | # ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../Include/" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c 75 | # SUBTRACT CPP /YX /Yc /Yu 76 | # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 77 | # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 78 | # ADD BASE RSC /l 0x409 /d "_DEBUG" 79 | # ADD RSC /l 0x409 /d "_DEBUG" 80 | BSC32=bscmake.exe 81 | # ADD BASE BSC32 /nologo 82 | # ADD BSC32 /nologo 83 | LINK32=link.exe 84 | # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept 85 | # ADD LINK32 kernel32.lib user32.lib gdi32.lib opengl32.lib siftgpu_d.lib testbase_d.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../bin/TestWin_d.exe" /pdbtype:sept /libpath:"../../lib/" 86 | # SUBTRACT LINK32 /pdb:none 87 | 88 | !ENDIF 89 | 90 | # Begin Target 91 | 92 | # Name "TestWin - Win32 Release" 93 | # Name "TestWin - Win32 Debug" 94 | # Begin Group "Source Files" 95 | 96 | # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" 97 | # Begin Source File 98 | 99 | SOURCE=..\..\src\TestWin\GLTestWnd.cpp 100 | # End Source File 101 | # End Group 102 | # Begin Group "Header Files" 103 | 104 | # PROP Default_Filter "h;hpp;hxx;hm;inl" 105 | # Begin Source File 106 | 107 | SOURCE=..\..\src\TestWin\GLTestWnd.h 108 | # End Source File 109 | # End Group 110 | # Begin Group "Resource Files" 111 | 112 | # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" 113 | # End Group 114 | # End Target 115 | # End Project 116 | -------------------------------------------------------------------------------- /msvc/TestWin/TestWin.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /msvc/TestWin/TestWinGlut.dsp: -------------------------------------------------------------------------------- 1 | # Microsoft Developer Studio Project File - Name="TestWinGlut" - Package Owner=<4> 2 | # Microsoft Developer Studio Generated Build File, Format Version 6.00 3 | # ** DO NOT EDIT ** 4 | 5 | # TARGTYPE "Win32 (x86) Console Application" 0x0103 6 | 7 | CFG=TestWinGlut - Win32 Debug 8 | !MESSAGE This is not a valid makefile. To build this project using NMAKE, 9 | !MESSAGE use the Export Makefile command and run 10 | !MESSAGE 11 | !MESSAGE NMAKE /f "TestWinGlut.mak". 12 | !MESSAGE 13 | !MESSAGE You can specify a configuration when running NMAKE 14 | !MESSAGE by defining the macro CFG on the command line. For example: 15 | !MESSAGE 16 | !MESSAGE NMAKE /f "TestWinGlut.mak" CFG="TestWinGlut - Win32 Debug" 17 | !MESSAGE 18 | !MESSAGE Possible choices for configuration are: 19 | !MESSAGE 20 | !MESSAGE "TestWinGlut - Win32 Release" (based on "Win32 (x86) Console Application") 21 | !MESSAGE "TestWinGlut - Win32 Debug" (based on "Win32 (x86) Console Application") 22 | !MESSAGE 23 | 24 | # Begin Project 25 | # PROP AllowPerConfigDependencies 0 26 | # PROP Scc_ProjName "" 27 | # PROP Scc_LocalPath "" 28 | CPP=cl.exe 29 | RSC=rc.exe 30 | 31 | !IF "$(CFG)" == "TestWinGlut - Win32 Release" 32 | 33 | # PROP BASE Use_MFC 0 34 | # PROP BASE Use_Debug_Libraries 0 35 | # PROP BASE Output_Dir "Release" 36 | # PROP BASE Intermediate_Dir "Release" 37 | # PROP BASE Target_Dir "" 38 | # PROP Use_MFC 0 39 | # PROP Use_Debug_Libraries 0 40 | # PROP Output_Dir "Release" 41 | # PROP Intermediate_Dir "Release" 42 | # PROP Ignore_Export_Lib 0 43 | # PROP Target_Dir "" 44 | # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c 45 | # ADD CPP /nologo /W3 /GX /O2 /I "../../Include/" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c 46 | # ADD BASE RSC /l 0x409 /d "NDEBUG" 47 | # ADD RSC /l 0x409 /d "NDEBUG" 48 | BSC32=bscmake.exe 49 | # ADD BASE BSC32 /nologo 50 | # ADD BSC32 /nologo 51 | LINK32=link.exe 52 | # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 53 | # ADD LINK32 kernel32.lib user32.lib siftgpu.lib testbase.lib /nologo /subsystem:console /machine:I386 /out:"../../bin/TestWinGlut.exe" /libpath:"../../lib/" 54 | 55 | !ELSEIF "$(CFG)" == "TestWinGlut - Win32 Debug" 56 | 57 | # PROP BASE Use_MFC 0 58 | # PROP BASE Use_Debug_Libraries 1 59 | # PROP BASE Output_Dir "Debug" 60 | # PROP BASE Intermediate_Dir "Debug" 61 | # PROP BASE Target_Dir "" 62 | # PROP Use_MFC 0 63 | # PROP Use_Debug_Libraries 1 64 | # PROP Output_Dir "Debug" 65 | # PROP Intermediate_Dir "Debug" 66 | # PROP Ignore_Export_Lib 0 67 | # PROP Target_Dir "" 68 | # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c 69 | # ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../Include/" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FR /YX /FD /GZ /c 70 | # ADD BASE RSC /l 0x409 /d "_DEBUG" 71 | # ADD RSC /l 0x409 /d "_DEBUG" 72 | BSC32=bscmake.exe 73 | # ADD BASE BSC32 /nologo 74 | # ADD BSC32 /nologo 75 | LINK32=link.exe 76 | # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept 77 | # ADD LINK32 kernel32.lib siftgpu_d.lib testbase_d.lib /nologo /subsystem:console /debug /machine:I386 /out:"../../bin/TestWinGlut_d.exe" /pdbtype:sept /libpath:"../../lib/" 78 | 79 | !ENDIF 80 | 81 | # Begin Target 82 | 83 | # Name "TestWinGlut - Win32 Release" 84 | # Name "TestWinGlut - Win32 Debug" 85 | # Begin Group "Source Files" 86 | 87 | # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" 88 | # Begin Source File 89 | 90 | SOURCE=..\..\src\TestWin\TestWinGlut.cpp 91 | # End Source File 92 | # End Group 93 | # Begin Group "Header Files" 94 | 95 | # PROP Default_Filter "h;hpp;hxx;hm;inl" 96 | # Begin Source File 97 | 98 | SOURCE=..\..\src\TestWin\TestWinGlut.h 99 | # End Source File 100 | # End Group 101 | # Begin Group "Resource Files" 102 | 103 | # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" 104 | # End Group 105 | # End Target 106 | # End Project 107 | -------------------------------------------------------------------------------- /msvc/TestWin/TestWinGlut.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /speed_and_accuracy.txt: -------------------------------------------------------------------------------- 1 | ------------------------------------------------------------------------ 2 | SPEED 3 | ------------------------------------------------------------------------ 4 | 1. The first several rounds of SiftGPU might be slow, don't worry. If it 5 | is always slow, the reason might be either the graphic card is old or the 6 | graphic memory is small. 7 | 8 | 2. Texture reallocation happens when a new image does not fit in the already 9 | allocated storage. To get less reallocations, you can pre-allocate storage 10 | to fit the largest image size, or just use images with the same size. 11 | 12 | 3. Loading some compressed images (.e.g jpg) may take a lot of time on 13 | decompressing. Using binary pgm files or directly specifying data in memory 14 | can achive better performance. Writing ASCII SIFT files is also slow. 15 | 16 | 4. The packd version saves GPU memory but also run faster than the unpacked, 17 | which is default now. 18 | 19 | 5. SiftGPU might be faster with older grpahic card drivers than with newer ones. 20 | 21 | 6. The descriptor normalization in the OpenGL-based implementation is running 22 | on CPU. New versions are now using SSE, which improves the speed for this part 23 | a lot. 24 | 25 | 7. The orientation computation in unpacked implementation is occasionally slow 26 | under single orientation mode (-m 1) or packed orientation mode (-m2p). By 27 | default, siftgpu uses 2 orientations (-m 2), which should be fine. This issue 28 | is still unresolved. 29 | 30 | 8. The thread block settings in the CUDA-based SiftGPU are currently tuned 31 | for my GPU nVidia GTX 8800, which may not be optimized for other GPUs. 32 | 33 | ---------------------------------------------------------------------------- 34 | ACCURACY 35 | ---------------------------------------------------------------------------- 36 | 1. The latest version of SiftGPU now has comparable accuracy with CPU 37 | implementatins. Evaluation on box.pgm of Lowe's package now gives around 600 38 | matches, which is close to SIFT++. 39 | 40 | 2. In orientation computation, SiftGPU uses a factor 2.0 * sigma as the sample 41 | window size, which is smaller than the typical value 3.0. Changing it from 2.0 42 | to 3.0 reduces the speed of this step by %40, but gives only a very small 43 | improvements in matching. You can change it by specifying parameter "-w 3". 44 | 45 | 3. In keypoint localization, SiftGPU refines the location only once by default, 46 | and SiftGPU does not move the level of keypoints in the refinement. 47 | 48 | 4. The feature locations are having a (0.5,0.5) offset compared with CPU 49 | implementations by default. (0, 0) in texture is at the top-left coorner 50 | (instead of center) of the top-left pixel. You can use the center as (0, 0) 51 | by specifying "-loweo" 52 | 53 | 5. By default, SiftGPU does not do Upsampling(-fo -1), To match it with Lowe's 54 | implementation you need to use "-fo -1 -loweo". 55 | 56 | 6. SiftGPU may get slightly different results on different GPUs due to different 57 | floating point precision. SiftGPU is tested on limited types of graphic cards/OS, 58 | working on your graphic card is not guaranteed. 59 | 60 | IF it returns different number of features at different run on the same card, 61 | then something is going wrong, and probably some special tricks need to be used. 62 | Please email me if that happens. 63 | 64 | 7. When getting wrong matches, please look at the saved SIFT file to make sure 65 | there are no weired descriptors( for example, all of the numbers of a descriptor 66 | are 45, or any number in a descriptor is larger than 255) 67 | 68 | ------------------------------------------------------------------------------ 69 | KWOWN ISSUES. 70 | ------------------------------------------------------------------------------ 71 | 1. SiftGPU may have problem with dual monitor. 72 | 2. Slow on 7950. Changing GlobalParam::_iTexFormat to GL_RGBA16F_ARB can make 73 | it work. Unknown reason. 74 | 3. Experiments on 8600 show problems. It works fine for the first image, but 75 | gets wrong keypoints after. 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | ADD_SUBDIRECTORY(SiftGPU) 2 | -------------------------------------------------------------------------------- /src/ServerSiftGPU/server.cpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: server.cpp 3 | // Author: Changchang Wu 4 | // Description : driver of a SiftGPU Server. 5 | // 6 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 7 | // All Rights Reserved 8 | // 9 | // Permission to use, copy, modify and distribute this software and its 10 | // documentation for educational, research and non-profit purposes, without 11 | // fee, and without a written agreement is hereby granted, provided that the 12 | // above copyright notice and the following paragraph appear in all copies. 13 | // 14 | // The University of North Carolina at Chapel Hill make no representations 15 | // about the suitability of this software for any purpose. It is provided 16 | // 'as is' without express or implied warranty. 17 | // 18 | // Please send BUG REPORTS to ccwu@cs.unc.edu 19 | // 20 | //////////////////////////////////////////////////////////////////////////// 21 | #include 22 | #include 23 | #include 24 | using std::cout; 25 | 26 | #include "../SiftGPU/SiftGPU.h" 27 | 28 | //if you included ServerSiftGPU.h here. 29 | //CreateRemoteSiftGPU can be replaced by new ServerSiftGPU(); 30 | 31 | int main(int argc, char** argv) 32 | { 33 | 34 | if(argc >= 2 && strcmp(argv[1], "-server") == 0) 35 | { 36 | //run siftgpu server 37 | std::cout << "Starting server process...\n"; 38 | int port = 7777; 39 | if(argc >= 3) sscanf(argv[2], "%d", &port); 40 | ////////////////////////////////////// 41 | RunServerLoop(port, argc - 3, argv + 3); 42 | }else if(argc >=2 && strcmp(argv[1], "-test") == 0) 43 | { 44 | //start server on same computer and connect... 45 | //note we are using a SiftGPU pointer.. 46 | SiftGPU* siftgpu = CreateRemoteSiftGPU(); 47 | siftgpu->ParseParam(argc - 2, argv + 2); 48 | if(siftgpu->VerifyContextGL()) 49 | { 50 | //files on the matchines where the server runs 51 | siftgpu->RunSIFT("../data/800-1.jpg"); 52 | siftgpu->RunSIFT("../data/800-2.jpg"); 53 | } 54 | delete siftgpu; //this will terminate the server 55 | }else if(argc >=4 && strcmp(argv[1], "-test_remote") == 0) 56 | { 57 | ////test client that connects to remote server... 58 | char server_name[1024]; int port = 7777; 59 | strcpy(server_name, argv[2]); 60 | sscanf(argv[3], "%d", &port); 61 | SiftGPU* siftgpu = CreateRemoteSiftGPU(port, server_name);//new ServerSiftGPU(port, server_name); 62 | siftgpu->ParseParam(argc - 4, argv + 4); 63 | if(siftgpu->VerifyContextGL()) 64 | { 65 | //files on the matchines where the server runs 66 | siftgpu->RunSIFT("../data/800-1.jpg"); 67 | siftgpu->RunSIFT("../data/800-2.jpg"); 68 | } 69 | delete siftgpu; 70 | }else if(argc >=2 && strcmp(argv[1], "-test2") == 0) 71 | { 72 | //test using two siftgpu servers...usage: 73 | //server_siftgpu -test2 [server1_params] [-server2 [server2_params]] 74 | 75 | //////////////////////////////////////////// 76 | //they need to use different ports. 77 | SiftGPU* siftgpu1 = CreateRemoteSiftGPU(7777);//new ServerSiftGPU(7777); 78 | SiftGPU* siftgpu2 = CreateRemoteSiftGPU(8888);//new ServerSiftGPU(8888); 79 | 80 | //split the parameters for the two servers 81 | int argc1 = 0, argc2 = 0; 82 | char** argv1 = argv + 2, **argv2 = 0; 83 | while(argc1 + 2 < argc && strcmp(argv[argc1 + 2], "-server2")) 84 | { 85 | argc1++; 86 | } 87 | if(argc1 + 3 < argc && strcmp(argv[argc1 + 2], "-server2") == 0) 88 | { 89 | argv2 = argv + argc1 + 3; 90 | argc2 = argc - argc1 - 3; 91 | } 92 | 93 | //initialize the two servers with their siftgpu parameters 94 | siftgpu1->ParseParam(argc1, argv1); 95 | siftgpu2->ParseParam(argc2, argv2); 96 | if(siftgpu1->VerifyContextGL() && siftgpu2->VerifyContextGL()) 97 | { 98 | siftgpu1->RunSIFT("../data/800-1.jpg"); 99 | siftgpu2->RunSIFT("../data/800-1.jpg"); 100 | siftgpu1->RunSIFT("../data/800-2.jpg"); 101 | siftgpu2->RunSIFT("../data/800-2.jpg"); 102 | } 103 | delete siftgpu1; 104 | delete siftgpu2; 105 | }else 106 | { 107 | std::cout 108 | <<"try -test [siftgpu_param] to create a local server and a client\n" 109 | <<"try -test2 [siftgpu_param1] [-server2 [siftgpu_param2]]\n" 110 | <<" to create two servers and two clients\n" 111 | <<"try -test_remote remote_sever_name remote_server_port\n" 112 | <<" to create a client and connect to remote server\n" 113 | <<"use -server port [siftgpu_param] to start a server\n" 114 | <<"Note [siftgpu_param] allows you to select GPU from multi-GPUs\n" 115 | <<"\n"; 116 | } 117 | return 1; 118 | } 119 | 120 | -------------------------------------------------------------------------------- /src/SiftGPU/CLTexImage.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: CLTexImage.h 3 | // Author: Changchang Wu 4 | // Description : interface for the CLTexImage class. 5 | // class for storing data in CUDA. 6 | // 7 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 8 | // All Rights Reserved 9 | // 10 | // Permission to use, copy, modify and distribute this software and its 11 | // documentation for educational, research and non-profit purposes, without 12 | // fee, and without a written agreement is hereby granted, provided that the 13 | // above copyright notice and the following paragraph appear in all copies. 14 | // 15 | // The University of North Carolina at Chapel Hill make no representations 16 | // about the suitability of this software for any purpose. It is provided 17 | // 'as is' without express or implied warranty. 18 | // 19 | // Please send BUG REPORTS to ccwu@cs.unc.edu 20 | // 21 | //////////////////////////////////////////////////////////////////////////// 22 | #if defined(CL_SIFTGPU_ENABLED) 23 | 24 | #ifndef CL_TEX_IMAGE_H 25 | #define CL_TEX_IMAGE_H 26 | 27 | class GLTexImage; 28 | 29 | class CLTexImage 30 | { 31 | protected: 32 | cl_context _context; 33 | cl_command_queue _queue; 34 | cl_mem _clData; 35 | int _numChannel; 36 | int _imgWidth; 37 | int _imgHeight; 38 | int _texWidth; 39 | int _texHeight; 40 | int _bufferLen; 41 | int _fromGL; 42 | private: 43 | void ReleaseTexture(); 44 | public: 45 | void SetImageSize(int width, int height); 46 | void SetPackedSize(int width, int height, int packed); 47 | void InitBufferTex(int width, int height, int nchannel); 48 | void InitTexture(int width, int height, int nchannel); 49 | void InitPackedTex(int width, int height, int packed); 50 | void InitTextureGL(GLuint tex, int width, int height, int nchannel); 51 | void CopyToHost(void* buf); 52 | void CopyFromHost(const void* buf); 53 | public: 54 | int CopyToPBO(GLuint pbo); 55 | int GetImageDataSize(); 56 | public: 57 | inline operator cl_mem(){return _clData; } 58 | inline int GetImgWidth(){return _imgWidth;} 59 | inline int GetImgHeight(){return _imgHeight;} 60 | inline int GetTexWidth(){return _texWidth;} 61 | inline int GetTexHeight(){return _texHeight;} 62 | inline int GetDataSize(){return _bufferLen;} 63 | inline bool IsImage2D() {return _bufferLen == 0;} 64 | inline int GetImgPixelCount(){return _imgWidth*_imgHeight;} 65 | inline int GetTexPixelCount(){return _texWidth*_texHeight;} 66 | public: 67 | CLTexImage(); 68 | CLTexImage(cl_context context, cl_command_queue queue); 69 | void SetContext(cl_context context, cl_command_queue queue); 70 | virtual ~CLTexImage(); 71 | friend class ProgramCL; 72 | friend class PyramidCL; 73 | friend class ProgramBagCL; 74 | friend class ProgramBagCLN; 75 | }; 76 | 77 | ////////////////////////////////////////////////// 78 | //transfer OpenGL Texture to PBO, then to CUDA vector 79 | //#endif 80 | #endif // !defined(CU_TEX_IMAGE_H) 81 | #endif 82 | 83 | 84 | -------------------------------------------------------------------------------- /src/SiftGPU/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | find_package(OpenGL REQUIRED) 2 | find_package(GLUT REQUIRED) 3 | find_package(Glew) 4 | 5 | SET(SIFTGPU_ENABLE_SERVER FALSE) 6 | SET(SIFTGPU_ENABLE_OPENCL FALSE) 7 | SET(SIFTGPU_ENABLE_CUDA FALSE) 8 | SET(SIFTGPU_ENABLE_SSE TRUE) 9 | SET(SIFTGPU_SSE_OPTIONS -march=core2 -mfpmath=sse) 10 | SET(SIFTGPU_PREFER_GLUT TRUE) 11 | SET(SIFTGPU_DISABLE_DEVIL TRUE) 12 | 13 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wall -Wno-deprecated" ) 14 | 15 | IF(SIFTGPU_ENABLE_SSE) 16 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=core2 -mfpmath=sse" ) 17 | ENDIF(SIFTGPU_ENABLE_SSE) 18 | 19 | IF(SIFTGPU_PREFER_GLUT) 20 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWINDOW_PREFER_GLUT" ) 21 | ENDIF(SIFTGPU_PREFER_GLUT) 22 | 23 | IF(SIFTGPU_ENABLE_OPENCL) 24 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DCL_SIFTGPU_ENABLED" ) 25 | ENDIF(SIFTGPU_ENABLE_OPENCL) 26 | 27 | IF(APPLE) 28 | SET(LIBS_SIFTGPU ) 29 | ELSE(APPLE) 30 | SET(LIBS_SIFTGPU glut GL X11 ) 31 | ENDIF(APPLE) 32 | 33 | IF(SIFTGPU_DISABLE_DEVIL) 34 | SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSIFTGPU_NO_DEVIL" ) 35 | ELSE(SIFTGPU_DISABLE_DEVIL) 36 | SET(LIBS_SIFTGPU ${LIBS_SIFTGPU} IL ) 37 | ENDIF(SIFTGPU_DISABLE_DEVIL) 38 | 39 | if (GLEW_FOUND) 40 | include_directories( ${GLEW_INCLUDE_DIRS} ) 41 | SET (GLEW_LIBRARIES GLEW) 42 | endif (GLEW_FOUND) 43 | 44 | ADD_LIBRARY(siftgpu STATIC FrameBufferObject.cpp GlobalUtil.cpp GLTexImage.cpp ProgramGLSL.cpp 45 | ProgramGPU.cpp ShaderMan.cpp SiftGPU.cpp SiftPyramid.cpp PyramidGL.cpp SiftMatch.cpp) 46 | 47 | TARGET_LINK_LIBRARIES(siftgpu ${LIBS_SIFTGPU} ${GLEW_LIBRARIES} ${GLUT_LIBRARIES} ${OPENGL_LIBRARIES} ) 48 | 49 | INSTALL(FILES SiftGPU.h DESTINATION include) 50 | INSTALL(TARGETS siftgpu DESTINATION lib ) 51 | -------------------------------------------------------------------------------- /src/SiftGPU/CuTexImage.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: CuTexImage.h 3 | // Author: Changchang Wu 4 | // Description : interface for the CuTexImage class. 5 | // class for storing data in CUDA. 6 | // 7 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 8 | // All Rights Reserved 9 | // 10 | // Permission to use, copy, modify and distribute this software and its 11 | // documentation for educational, research and non-profit purposes, without 12 | // fee, and without a written agreement is hereby granted, provided that the 13 | // above copyright notice and the following paragraph appear in all copies. 14 | // 15 | // The University of North Carolina at Chapel Hill make no representations 16 | // about the suitability of this software for any purpose. It is provided 17 | // 'as is' without express or implied warranty. 18 | // 19 | // Please send BUG REPORTS to ccwu@cs.unc.edu 20 | // 21 | //////////////////////////////////////////////////////////////////////////// 22 | 23 | 24 | #ifndef CU_TEX_IMAGE_H 25 | #define CU_TEX_IMAGE_H 26 | 27 | class GLTexImage; 28 | struct cudaArray; 29 | struct textureReference; 30 | 31 | //using texture2D from linear memory 32 | 33 | #define SIFTGPU_ENABLE_LINEAR_TEX2D 34 | 35 | class CuTexImage 36 | { 37 | protected: 38 | void* _cuData; 39 | cudaArray* _cuData2D; 40 | int _numChannel; 41 | int _numBytes; 42 | int _imgWidth; 43 | int _imgHeight; 44 | int _texWidth; 45 | int _texHeight; 46 | GLuint _fromPBO; 47 | public: 48 | virtual void SetImageSize(int width, int height); 49 | virtual void InitTexture(int width, int height, int nchannel = 1); 50 | void InitTexture2D(); 51 | inline void BindTexture(textureReference& texRef); 52 | inline void BindTexture2D(textureReference& texRef); 53 | void CopyToTexture2D(); 54 | void CopyToHost(void* buf); 55 | void CopyToHost(void* buf, int stream); 56 | void CopyFromHost(const void* buf); 57 | int CopyToPBO(GLuint pbo); 58 | void CopyFromPBO(int width, int height, GLuint pbo); 59 | static int DebugCopyToTexture2D(); 60 | public: 61 | inline int GetImgWidth(){return _imgWidth;} 62 | inline int GetImgHeight(){return _imgHeight;} 63 | inline int GetDataSize(){return _numBytes;} 64 | public: 65 | CuTexImage(); 66 | CuTexImage(int width, int height, int nchannel, GLuint pbo); 67 | virtual ~CuTexImage(); 68 | friend class ProgramCU; 69 | friend class PyramidCU; 70 | }; 71 | 72 | ////////////////////////////////////////////////// 73 | //transfer OpenGL Texture to PBO, then to CUDA vector 74 | //#endif 75 | #endif // !defined(CU_TEX_IMAGE_H) 76 | 77 | -------------------------------------------------------------------------------- /src/SiftGPU/FrameBufferObject.cpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: FrameBufferObject.cpp 3 | // Author: Changchang Wu 4 | // Description : Implementation of FrameBufferObject Class 5 | // 6 | // 7 | // 8 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 9 | // All Rights Reserved 10 | // 11 | // Permission to use, copy, modify and distribute this software and its 12 | // documentation for educational, research and non-profit purposes, without 13 | // fee, and without a written agreement is hereby granted, provided that the 14 | // above copyright notice and the following paragraph appear in all copies. 15 | // 16 | // The University of North Carolina at Chapel Hill make no representations 17 | // about the suitability of this software for any purpose. It is provided 18 | // 'as is' without express or implied warranty. 19 | // 20 | // Please send BUG REPORTS to ccwu@cs.unc.edu 21 | // 22 | //////////////////////////////////////////////////////////////////////////// 23 | 24 | 25 | #include "GL/glew.h" 26 | #include 27 | #include "GlobalUtil.h" 28 | #include "FrameBufferObject.h" 29 | 30 | //whether use only one FBO globally 31 | int FrameBufferObject::UseSingleFBO=1; 32 | GLuint FrameBufferObject::GlobalFBO=0; 33 | 34 | ////////////////////////////////////////////////////////////////////// 35 | // Construction/Destruction 36 | ////////////////////////////////////////////////////////////////////// 37 | 38 | FrameBufferObject::FrameBufferObject(int autobind) 39 | { 40 | if(UseSingleFBO && GlobalFBO) 41 | { 42 | _fboID = GlobalFBO; 43 | }else 44 | { 45 | glGenFramebuffersEXT(1, &_fboID); 46 | if(UseSingleFBO )GlobalFBO = _fboID; 47 | } 48 | if(autobind ) glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, _fboID); 49 | } 50 | 51 | FrameBufferObject::~FrameBufferObject() 52 | { 53 | glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); 54 | if(!UseSingleFBO ) 55 | { 56 | glDeleteFramebuffersEXT (1,&_fboID); 57 | } 58 | } 59 | 60 | void FrameBufferObject::DeleteGlobalFBO() 61 | { 62 | if(UseSingleFBO) 63 | { 64 | glDeleteFramebuffersEXT (1,&GlobalFBO); 65 | GlobalFBO = 0; 66 | } 67 | } 68 | 69 | void FrameBufferObject::AttachDepthTexture(GLenum textureTarget, GLuint texID) 70 | { 71 | 72 | glFramebufferTexture2DEXT( GL_FRAMEBUFFER_EXT, GL_DEPTH_ATTACHMENT_EXT, textureTarget, texID, 0); 73 | } 74 | 75 | void FrameBufferObject::AttachTexture(GLenum textureTarget, GLenum attachment, GLuint texId) 76 | { 77 | glFramebufferTexture2DEXT( GL_FRAMEBUFFER_EXT, attachment, textureTarget, texId, 0); 78 | } 79 | 80 | void FrameBufferObject::BindFBO() 81 | { 82 | glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, _fboID); 83 | } 84 | 85 | void FrameBufferObject::UnbindFBO() 86 | { 87 | glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); 88 | } 89 | 90 | void FrameBufferObject::UnattachTex(GLenum attachment) 91 | { 92 | glFramebufferTexture2DEXT( GL_FRAMEBUFFER_EXT, attachment, GL_TEXTURE_2D, 0, 0 ); 93 | } 94 | 95 | void FrameBufferObject::AttachRenderBuffer(GLenum attachment, GLuint buffID) 96 | { 97 | glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, attachment, GL_RENDERBUFFER_EXT, buffID); 98 | 99 | } 100 | 101 | void FrameBufferObject:: UnattachRenderBuffer(GLenum attachment) 102 | { 103 | glFramebufferRenderbufferEXT(GL_FRAMEBUFFER_EXT, attachment, GL_RENDERBUFFER_EXT, 0); 104 | } 105 | 106 | -------------------------------------------------------------------------------- /src/SiftGPU/FrameBufferObject.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: FrameBufferObject.h 3 | // Author: Changchang Wu 4 | // Description : interface for the FrameBufferObject class. 5 | // 6 | // 7 | // 8 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 9 | // All Rights Reserved 10 | // 11 | // Permission to use, copy, modify and distribute this software and its 12 | // documentation for educational, research and non-profit purposes, without 13 | // fee, and without a written agreement is hereby granted, provided that the 14 | // above copyright notice and the following paragraph appear in all copies. 15 | // 16 | // The University of North Carolina at Chapel Hill make no representations 17 | // about the suitability of this software for any purpose. It is provided 18 | // 'as is' without express or implied warranty. 19 | // 20 | // Please send BUG REPORTS to ccwu@cs.unc.edu 21 | // 22 | //////////////////////////////////////////////////////////////////////////// 23 | 24 | 25 | #if !defined(_FRAME_BUFFER_OBJECT_H) 26 | #define _FRAME_BUFFER_OBJECT_H 27 | 28 | class FrameBufferObject 29 | { 30 | static GLuint GlobalFBO; //not thread-safe 31 | GLuint _fboID; 32 | public: 33 | static int UseSingleFBO; 34 | public: 35 | static void DeleteGlobalFBO(); 36 | static void UnattachTex(GLenum attachment); 37 | static void UnbindFBO(); 38 | static void AttachDepthTexture(GLenum textureTarget, GLuint texID); 39 | static void AttachTexture( GLenum textureTarget, GLenum attachment, GLuint texID); 40 | static void AttachRenderBuffer(GLenum attachment, GLuint buffID ); 41 | static void UnattachRenderBuffer(GLenum attachment); 42 | public: 43 | void BindFBO(); 44 | FrameBufferObject(int autobind = 1); 45 | ~FrameBufferObject(); 46 | 47 | }; 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /src/SiftGPU/GlobalUtil.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: GlobalUtil.h 3 | // Author: Changchang Wu 4 | // Description : 5 | // GlobalParam: Global parameters 6 | // ClockTimer: Timer 7 | // GlobalUtil: Global Function wrapper 8 | // 9 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 10 | // All Rights Reserved 11 | // 12 | // Permission to use, copy, modify and distribute this software and its 13 | // documentation for educational, research and non-profit purposes, without 14 | // fee, and without a written agreement is hereby granted, provided that the 15 | // above copyright notice and the following paragraph appear in all copies. 16 | // 17 | // The University of North Carolina at Chapel Hill make no representations 18 | // about the suitability of this software for any purpose. It is provided 19 | // 'as is' without express or implied warranty. 20 | // 21 | // Please send BUG REPORTS to ccwu@cs.unc.edu 22 | // 23 | //////////////////////////////////////////////////////////////////////////// 24 | 25 | 26 | #ifndef _GLOBAL_UTILITY_H 27 | #define _GLOBAL_UTILITY_H 28 | 29 | 30 | //wrapper for some shader function 31 | //class ProgramGPU; 32 | class LiteWindow; 33 | 34 | class GlobalParam 35 | { 36 | public: 37 | static GLuint _texTarget; 38 | static GLuint _iTexFormat; 39 | static int _texMaxDim; 40 | static int _texMaxDimGL; 41 | static int _texMinDim; 42 | static int _MemCapGPU; 43 | static int _FitMemoryCap; 44 | static int _verbose; 45 | static int _timingS; 46 | static int _timingO; 47 | static int _timingL; 48 | static int _usePackedTex; 49 | static int _IsNvidia; 50 | static int _KeepShaderLoop; 51 | static int _UseCUDA; 52 | static int _UseOpenCL; 53 | static int _UseDynamicIndexing; 54 | static int _debug; 55 | static int _MaxFilterWidth; 56 | static float _FilterWidthFactor; 57 | static float _OrientationWindowFactor; 58 | static float _DescriptorWindowFactor; 59 | static int _MaxOrientation; 60 | static int _OrientationPack2; 61 | static int _ListGenGPU; 62 | static int _ListGenSkipGPU; 63 | static int _SupportNVFloat; 64 | static int _SupportTextureRG; 65 | static int _FullSupported; 66 | static float _MaxFeaturePercent; 67 | static int _MaxLevelFeatureNum; 68 | static int _DescriptorPPR; 69 | static int _DescriptorPPT; //pixel per texture for one descriptor 70 | static int _FeatureTexBlock; 71 | static int _NarrowFeatureTex; //implemented but no performance improvement 72 | static int _SubpixelLocalization; 73 | static int _ProcessOBO; //not implemented yet 74 | static int _TruncateMethod; 75 | static int _PreciseBorder; //implemented 76 | static int _UseSiftGPUEX; 77 | static int _ForceTightPyramid; 78 | static int _octave_min_default; 79 | static int _octave_num_default; 80 | static int _InitPyramidWidth; 81 | static int _InitPyramidHeight; 82 | static int _PreProcessOnCPU; 83 | static int _GoodOpenGL; 84 | static int _FixedOrientation; 85 | static int _LoweOrigin; 86 | static int _ExitAfterSIFT; 87 | static int _NormalizedSIFT; 88 | static int _BinarySIFT; 89 | static int _KeepExtremumSign; 90 | static int _FeatureCountThreshold; 91 | static int _KeyPointListForceLevel0; 92 | static int _DarknessAdaption; 93 | 94 | //for compatability with old version: 95 | static float _OrientationExtraFactor; 96 | static float _OrientationGaussianFactor; 97 | static float _MulitiOrientationThreshold; 98 | 99 | //////////////////////////////////////// 100 | static int _WindowInitX; 101 | static int _WindowInitY; 102 | static const char* _WindowDisplay; 103 | static int _DeviceIndex; 104 | }; 105 | 106 | 107 | class ClockTimer 108 | { 109 | private: 110 | char _current_event[256]; 111 | int _time_start; 112 | int _time_stop; 113 | public: 114 | static int ClockMS(); 115 | static double CLOCK(); 116 | static void InitHighResolution(); 117 | void StopTimer(int verb = 1); 118 | void StartTimer(const char * event, int verb=0); 119 | float GetElapsedTime(); 120 | }; 121 | 122 | class GlobalUtil:public GlobalParam 123 | { 124 | static ClockTimer _globalTimer; 125 | public: 126 | inline static double CLOCK() { return ClockTimer::CLOCK(); } 127 | inline static void StopTimer() { _globalTimer.StopTimer(_timingS); } 128 | inline static void StartTimer(const char * event) { _globalTimer.StartTimer(event, _timingO); } 129 | inline static float GetElapsedTime() { return _globalTimer.GetElapsedTime(); } 130 | 131 | static void FitViewPort(int width, int height); 132 | static void SetTextureParameter(); 133 | static void SetTextureParameterUS(); 134 | #ifdef _DEBUG 135 | static void CheckErrorsGL(const char* location = NULL); 136 | #else 137 | static void inline CheckErrorsGL(const char* location = NULL){}; 138 | #endif 139 | static bool CheckFramebufferStatus(); 140 | //initialize Opengl parameters 141 | static void SelectDisplay(); 142 | static void InitGLParam(int NotTargetGL = 0); 143 | static void SetGLParam(); 144 | static int CreateWindowEZ(); 145 | static void CleanupOpenGL(); 146 | static void SetDeviceParam(int argc, char** argv); 147 | static int CreateWindowEZ(LiteWindow* window); 148 | }; 149 | 150 | 151 | #if defined(_MSC_VER) && _MSC_VER == 1200 152 | #define max(a,b) (((a) > (b)) ? (a) : (b)) 153 | #define min(a,b) (((a) < (b)) ? (a) : (b)) 154 | #endif 155 | 156 | #endif 157 | 158 | -------------------------------------------------------------------------------- /src/SiftGPU/ProgramCU.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: ProgramCU.h 3 | // Author: Changchang Wu 4 | // Description : interface for the ProgramCU classes. 5 | // It is basically a wrapper around all the CUDA kernels 6 | // 7 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 8 | // All Rights Reserved 9 | // 10 | // Permission to use, copy, modify and distribute this software and its 11 | // documentation for educational, research and non-profit purposes, without 12 | // fee, and without a written agreement is hereby granted, provided that the 13 | // above copyright notice and the following paragraph appear in all copies. 14 | // 15 | // The University of North Carolina at Chapel Hill make no representations 16 | // about the suitability of this software for any purpose. It is provided 17 | // 'as is' without express or implied warranty. 18 | // 19 | // Please send BUG REPORTS to ccwu@cs.unc.edu 20 | // 21 | //////////////////////////////////////////////////////////////////////////// 22 | 23 | #ifndef _PROGRAM_CU_H 24 | #define _PROGRAM_CU_H 25 | #if defined(CUDA_SIFTGPU_ENABLED) 26 | 27 | class CuTexImage; 28 | 29 | class ProgramCU 30 | { 31 | public: 32 | //GPU FUNCTIONS 33 | static void FinishCUDA(); 34 | static int CheckErrorCUDA(const char* location); 35 | static int CheckCudaDevice(int device); 36 | public: 37 | ////SIFTGPU FUNCTIONS 38 | static void CreateFilterKernel(float sigma, float* kernel, int& width); 39 | template static void FilterImage(CuTexImage *dst, CuTexImage *src, CuTexImage* buf); 40 | static void FilterImage(CuTexImage *dst, CuTexImage *src, CuTexImage* buf, float sigma); 41 | static void ComputeDOG(CuTexImage* gus, CuTexImage* dog, CuTexImage* got); 42 | static void ComputeKEY(CuTexImage* dog, CuTexImage* key, float Tdog, float Tedge); 43 | static void InitHistogram(CuTexImage* key, CuTexImage* hist); 44 | static void ReduceHistogram(CuTexImage*hist1, CuTexImage* hist2); 45 | static void GenerateList(CuTexImage* list, CuTexImage* hist); 46 | static void ComputeOrientation(CuTexImage*list, CuTexImage* got, CuTexImage*key, 47 | float sigma, float sigma_step, int existing_keypoint); 48 | static void ComputeDescriptor(CuTexImage*list, CuTexImage* got, CuTexImage* dtex, int rect = 0, int stream = 0); 49 | 50 | //data conversion 51 | static void SampleImageU(CuTexImage *dst, CuTexImage *src, int log_scale); 52 | static void SampleImageD(CuTexImage *dst, CuTexImage *src, int log_scale = 1); 53 | static void ReduceToSingleChannel(CuTexImage* dst, CuTexImage* src, int convert_rgb); 54 | static void ConvertByteToFloat(CuTexImage*src, CuTexImage* dst); 55 | 56 | //visualization 57 | static void DisplayConvertDOG(CuTexImage* dog, CuTexImage* out); 58 | static void DisplayConvertGRD(CuTexImage* got, CuTexImage* out); 59 | static void DisplayConvertKEY(CuTexImage* key, CuTexImage* dog, CuTexImage* out); 60 | static void DisplayKeyPoint(CuTexImage* ftex, CuTexImage* out); 61 | static void DisplayKeyBox(CuTexImage* ftex, CuTexImage* out); 62 | 63 | //SIFTMATCH FUNCTIONS 64 | static void MultiplyDescriptor(CuTexImage* tex1, CuTexImage* tex2, CuTexImage* texDot, CuTexImage* texCRT); 65 | static void MultiplyDescriptorG(CuTexImage* texDes1, CuTexImage* texDes2, 66 | CuTexImage* texLoc1, CuTexImage* texLoc2, CuTexImage* texDot, CuTexImage* texCRT, 67 | float H[3][3], float hdistmax, float F[3][3], float fdistmax); 68 | static void GetRowMatch(CuTexImage* texDot, CuTexImage* texMatch, float distmax, float ratiomax); 69 | static void GetColMatch(CuTexImage* texCRT, CuTexImage* texMatch, float distmax, float ratiomax); 70 | }; 71 | 72 | #endif 73 | #endif 74 | 75 | -------------------------------------------------------------------------------- /src/SiftGPU/ProgramGPU.cpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: ProgramGPU.cpp 3 | // Author: Changchang Wu 4 | // Description : Implementation of ProgramGPU and FilterProgram 5 | // This part is independent of GPU language 6 | // 7 | // 8 | // 9 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 10 | // All Rights Reserved 11 | // 12 | // Permission to use, copy, modify and distribute this software and its 13 | // documentation for educational, research and non-profit purposes, without 14 | // fee, and without a written agreement is hereby granted, provided that the 15 | // above copyright notice and the following paragraph appear in all copies. 16 | // 17 | // The University of North Carolina at Chapel Hill make no representations 18 | // about the suitability of this software for any purpose. It is provided 19 | // 'as is' without express or implied warranty. 20 | // 21 | // Please send BUG REPORTS to ccwu@cs.unc.edu 22 | // 23 | //////////////////////////////////////////////////////////////////////////// 24 | 25 | 26 | #include "GL/glew.h" 27 | #include 28 | #include 29 | #include 30 | using namespace std; 31 | 32 | #include "GlobalUtil.h" 33 | #include "GLTexImage.h" 34 | #include "ShaderMan.h" 35 | #include "ProgramGPU.h" 36 | #include "ProgramGLSL.h" 37 | #include "SiftGPU.h" 38 | 39 | -------------------------------------------------------------------------------- /src/SiftGPU/ProgramGPU.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: ProgramGPU.h 3 | // Author: Changchang Wu 4 | // Description : Based class for GPU programs 5 | // ProgramGPU: base class of ProgramGLSL 6 | // FilterProgram: base class of FilterGLSL, FilterPKSL 7 | // 8 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 9 | // All Rights Reserved 10 | // 11 | // Permission to use, copy, modify and distribute this software and its 12 | // documentation for educational, research and non-profit purposes, without 13 | // fee, and without a written agreement is hereby granted, provided that the 14 | // above copyright notice and the following paragraph appear in all copies. 15 | // 16 | // The University of North Carolina at Chapel Hill make no representations 17 | // about the suitability of this software for any purpose. It is provided 18 | // 'as is' without express or implied warranty. 19 | // 20 | // Please send BUG REPORTS to ccwu@cs.unc.edu 21 | // 22 | //////////////////////////////////////////////////////////////////////////// 23 | 24 | 25 | #ifndef _PROGRAM_GPU_H 26 | #define _PROGRAM_GPU_H 27 | 28 | //////////////////////////////////////////////////////////////////////////// 29 | //class ProgramGPU 30 | //description: pure virtual class 31 | // provides a common interface for shader programs 32 | /////////////////////////////////////////////////////////////////////////// 33 | class ProgramGPU 34 | { 35 | public: 36 | //use a gpu program 37 | virtual int UseProgram() = 0; 38 | virtual void* GetProgramID() = 0; 39 | //not used 40 | virtual ~ProgramGPU(){}; 41 | }; 42 | 43 | /////////////////////////////////////////////////////////////////////////// 44 | //class FilterProgram 45 | /////////////////////////////////////////////////////////////////////////// 46 | class FilterProgram 47 | { 48 | public: 49 | ProgramGPU* s_shader_h; 50 | ProgramGPU* s_shader_v; 51 | int _size; 52 | int _id; 53 | public: 54 | FilterProgram() { s_shader_h = s_shader_v = NULL; _size = _id = 0; } 55 | virtual ~FilterProgram() { if(s_shader_h) delete s_shader_h; if(s_shader_v) delete s_shader_v;} 56 | }; 57 | 58 | #endif 59 | 60 | -------------------------------------------------------------------------------- /src/SiftGPU/PyramidCL.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: PyramidCL.h 3 | // Author: Changchang Wu 4 | // Description : interface for the PyramdCL 5 | // 6 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 7 | // All Rights Reserved 8 | // 9 | // Permission to use, copy, modify and distribute this software and its 10 | // documentation for educational, research and non-profit purposes, without 11 | // fee, and without a written agreement is hereby granted, provided that the 12 | // above copyright notice and the following paragraph appear in all copies. 13 | // 14 | // The University of North Carolina at Chapel Hill make no representations 15 | // about the suitability of this software for any purpose. It is provided 16 | // 'as is' without express or implied warranty. 17 | // 18 | // Please send BUG REPORTS to ccwu@cs.unc.edu 19 | // 20 | //////////////////////////////////////////////////////////////////////////// 21 | 22 | 23 | 24 | #ifndef _PYRAMID_CL_H 25 | #define _PYRAMID_CL_H 26 | #if defined(CL_SIFTGPU_ENABLED) 27 | 28 | class CLTexImage; 29 | class SiftPyramid; 30 | class ProgramBagCL; 31 | class PyramidCL: public SiftPyramid 32 | { 33 | CLTexImage* _inputTex; 34 | CLTexImage* _allPyramid; 35 | CLTexImage* _histoPyramidTex; 36 | CLTexImage* _featureTex; 37 | CLTexImage* _descriptorTex; 38 | CLTexImage* _orientationTex; 39 | ProgramBagCL* _OpenCL; 40 | GLTexImage* _bufferTEX; 41 | public: 42 | virtual void GetFeatureDescriptors(); 43 | virtual void GenerateFeatureListTex(); 44 | virtual void ReshapeFeatureListCPU(); 45 | virtual void GenerateFeatureDisplayVBO(); 46 | virtual void DestroySharedData(); 47 | virtual void DestroyPerLevelData(); 48 | virtual void DestroyPyramidData(); 49 | virtual void DownloadKeypoints(); 50 | virtual void GenerateFeatureListCPU(); 51 | virtual void GenerateFeatureList(); 52 | virtual GLTexImage* GetLevelTexture(int octave, int level); 53 | virtual GLTexImage* GetLevelTexture(int octave, int level, int dataName); 54 | virtual void BuildPyramid(GLTexInput * input); 55 | virtual void DetectKeypointsEX(); 56 | virtual void ComputeGradient(); 57 | virtual void GetFeatureOrientations(); 58 | virtual void GetSimplifiedOrientation(); 59 | virtual void InitPyramid(int w, int h, int ds = 0); 60 | virtual void ResizePyramid(int w, int h); 61 | 62 | ////////// 63 | void CopyGradientTex(); 64 | void FitPyramid(int w, int h); 65 | 66 | void InitializeContext(); 67 | int ResizeFeatureStorage(); 68 | int FitHistogramPyramid(CLTexImage* tex); 69 | void SetLevelFeatureNum(int idx, int fcount); 70 | void ConvertInputToCL(GLTexInput* input, CLTexImage* output); 71 | GLTexImage* ConvertTexCL2GL(CLTexImage* tex, int dataName); 72 | CLTexImage* GetBaseLevel(int octave, int dataName = DATA_GAUSSIAN); 73 | private: 74 | void GenerateFeatureList(int i, int j, int reduction_count, vector& hbuffer); 75 | public: 76 | PyramidCL(SiftParam& sp); 77 | virtual ~PyramidCL(); 78 | }; 79 | 80 | 81 | #endif 82 | #endif 83 | 84 | -------------------------------------------------------------------------------- /src/SiftGPU/PyramidCU.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: PyramidCU.h 3 | // Author: Changchang Wu 4 | // Description : interface for the PyramdCU 5 | // 6 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 7 | // All Rights Reserved 8 | // 9 | // Permission to use, copy, modify and distribute this software and its 10 | // documentation for educational, research and non-profit purposes, without 11 | // fee, and without a written agreement is hereby granted, provided that the 12 | // above copyright notice and the following paragraph appear in all copies. 13 | // 14 | // The University of North Carolina at Chapel Hill make no representations 15 | // about the suitability of this software for any purpose. It is provided 16 | // 'as is' without express or implied warranty. 17 | // 18 | // Please send BUG REPORTS to ccwu@cs.unc.edu 19 | // 20 | //////////////////////////////////////////////////////////////////////////// 21 | 22 | 23 | 24 | #ifndef _PYRAMID_CU_H 25 | #define _PYRAMID_CU_H 26 | #if defined(CUDA_SIFTGPU_ENABLED) 27 | 28 | class GLTexImage; 29 | class CuTexImage; 30 | class SiftPyramid; 31 | class PyramidCU:public SiftPyramid 32 | { 33 | CuTexImage* _inputTex; 34 | CuTexImage* _allPyramid; 35 | CuTexImage* _histoPyramidTex; 36 | CuTexImage* _featureTex; 37 | CuTexImage* _descriptorTex; 38 | CuTexImage* _orientationTex; 39 | GLuint _bufferPBO; 40 | GLTexImage* _bufferTEX; 41 | public: 42 | virtual void GetFeatureDescriptors(); 43 | virtual void GenerateFeatureListTex(); 44 | virtual void ReshapeFeatureListCPU(); 45 | virtual void GenerateFeatureDisplayVBO(); 46 | virtual void DestroySharedData(); 47 | virtual void DestroyPerLevelData(); 48 | virtual void DestroyPyramidData(); 49 | virtual void DownloadKeypoints(); 50 | virtual void GenerateFeatureListCPU(); 51 | virtual void GenerateFeatureList(); 52 | virtual GLTexImage* GetLevelTexture(int octave, int level); 53 | virtual GLTexImage* GetLevelTexture(int octave, int level, int dataName); 54 | virtual void BuildPyramid(GLTexInput * input); 55 | virtual void DetectKeypointsEX(); 56 | virtual void ComputeGradient(); 57 | virtual void GetFeatureOrientations(); 58 | virtual void GetSimplifiedOrientation(); 59 | virtual void InitPyramid(int w, int h, int ds = 0); 60 | virtual void ResizePyramid(int w, int h); 61 | virtual int IsUsingRectDescription(){return _existing_keypoints & SIFT_RECT_DESCRIPTION; } 62 | ////////// 63 | void CopyGradientTex(); 64 | void FitPyramid(int w, int h); 65 | 66 | void InitializeContext(); 67 | int ResizeFeatureStorage(); 68 | int FitHistogramPyramid(CuTexImage* tex); 69 | void SetLevelFeatureNum(int idx, int fcount); 70 | void ConvertInputToCU(GLTexInput* input); 71 | GLTexImage* ConvertTexCU2GL(CuTexImage* tex, int dataName); 72 | CuTexImage* GetBaseLevel(int octave, int dataName = DATA_GAUSSIAN); 73 | void TruncateWidth(int& w) { w = GLTexInput::TruncateWidthCU(w); } 74 | ////////////////////////// 75 | static int CheckCudaDevice(int device); 76 | private: 77 | void GenerateFeatureList(int i, int j, int reduction_count, vector& hbuffer); 78 | public: 79 | PyramidCU(SiftParam& sp); 80 | virtual ~PyramidCU(); 81 | }; 82 | 83 | 84 | 85 | #endif 86 | #endif 87 | -------------------------------------------------------------------------------- /src/SiftGPU/PyramidGL.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: PyramidGL.h 3 | // Author: Changchang Wu 4 | // Description : interface for the PyramdGL 5 | // class PyramidNaive and PyramidPacked are derived from PyramidGL 6 | // 7 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 8 | // All Rights Reserved 9 | // 10 | // Permission to use, copy, modify and distribute this software and its 11 | // documentation for educational, research and non-profit purposes, without 12 | // fee, and without a written agreement is hereby granted, provided that the 13 | // above copyright notice and the following paragraph appear in all copies. 14 | // 15 | // The University of North Carolina at Chapel Hill make no representations 16 | // about the suitability of this software for any purpose. It is provided 17 | // 'as is' without express or implied warranty. 18 | // 19 | // Please send BUG REPORTS to ccwu@cs.unc.edu 20 | // 21 | //////////////////////////////////////////////////////////////////////////// 22 | 23 | 24 | 25 | #ifndef _PYRAMID_GL_H 26 | #define _PYRAMID_GL_H 27 | 28 | class GLTexImage; 29 | class SiftParam; 30 | class ProgramGPU; 31 | class ShaderMan; 32 | class GlobalUtil; 33 | class SiftPyramid; 34 | 35 | class PyramidGL:public SiftPyramid 36 | { 37 | protected: 38 | GLTexImage* _histoPyramidTex; 39 | GLTexImage* _featureTex; 40 | GLTexImage* _descriptorTex; 41 | GLTexImage* _orientationTex; 42 | public: 43 | void InitializeContext(); 44 | void SetLevelFeatureNum(int idx, int num); 45 | void GetTextureStorageSize(int num, int &fw, int& fh); 46 | void GetAlignedStorageSize(int num, int align, int &fw, int &fh); 47 | static void InterlaceDescriptorF2(int w, int h, float* buf, float* pd, int step); 48 | static void NormalizeDescriptor(int num, float*pd); 49 | virtual void DownloadKeypoints(); 50 | virtual int ResizeFeatureStorage(); 51 | //////////////////////////// 52 | virtual void DestroyPerLevelData(); 53 | virtual void DestroySharedData(); 54 | virtual void GetFeatureDescriptors(); 55 | virtual void GenerateFeatureListTex(); 56 | virtual void ReshapeFeatureListCPU(); 57 | virtual void GenerateFeatureDisplayVBO(); 58 | virtual void CleanUpAfterSIFT(); 59 | virtual GLTexImage* GetBaseLevel(int octave, int dataName = DATA_GAUSSIAN)=0; 60 | public: 61 | PyramidGL(SiftParam&sp); 62 | virtual ~PyramidGL(); 63 | }; 64 | 65 | class PyramidNaive:public PyramidGL, public ShaderMan 66 | { 67 | protected: 68 | GLTexImage * _texPyramid; 69 | GLTexImage * _auxPyramid; 70 | public: 71 | void DestroyPyramidData(); 72 | void GetSimplifiedOrientation(); 73 | void GenerateFeatureListCPU(); 74 | virtual void GetFeatureOrientations(); 75 | virtual void GenerateFeatureList(); 76 | void DetectKeypointsEX(); 77 | void ComputeGradient(); 78 | GLTexImage* GetLevelTexture(int octave, int level); 79 | GLTexImage* GetBaseLevel(int octave, int dataName = DATA_GAUSSIAN); 80 | GLTexImage* GetLevelTexture(int octave, int level, int dataName); 81 | void BuildPyramid(GLTexInput * input); 82 | void InitPyramid(int w, int h, int ds); 83 | void FitPyramid(int w, int h); 84 | void ResizePyramid(int w, int h); 85 | void FitHistogramPyramid(); 86 | PyramidNaive(SiftParam & sp); 87 | ~PyramidNaive(); 88 | private: 89 | void GenerateFeatureList(int i, int j); 90 | }; 91 | 92 | 93 | class PyramidPacked:public PyramidGL, public ShaderMan 94 | { 95 | GLTexPacked * _allPyramid; 96 | public: 97 | PyramidPacked(SiftParam& sp); 98 | ~PyramidPacked(); 99 | void DestroyPyramidData(); 100 | void DetectKeypointsEX(); 101 | void ComputeGradient(); 102 | void BuildPyramid(GLTexInput * input); 103 | void InitPyramid(int w, int h, int ds); 104 | void FitPyramid(int w, int h); 105 | void ResizePyramid(int w, int h); 106 | void FitHistogramPyramid(); 107 | void GenerateFeatureListCPU(); 108 | void GenerateFeatureList(); 109 | void GetSimplifiedOrientation(); 110 | void GetFeatureOrientations(); 111 | GLTexImage* GetBaseLevel(int octave, int dataName = DATA_GAUSSIAN); 112 | GLTexImage* GetLevelTexture(int octave, int level); 113 | GLTexImage* GetLevelTexture(int octave, int level, int dataName); 114 | virtual int IsUsingRectDescription(){return _existing_keypoints & SIFT_RECT_DESCRIPTION; } 115 | private: 116 | void GenerateFeatureList(int i, int j); 117 | }; 118 | 119 | #endif 120 | -------------------------------------------------------------------------------- /src/SiftGPU/ShaderMan.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: ShaderMan.h 3 | // Author: Changchang Wu 4 | // Description : interface for the ShaderMan class. 5 | // This is a class that manages all the shaders for SIFT 6 | // 7 | // 8 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 9 | // All Rights Reserved 10 | // 11 | // Permission to use, copy, modify and distribute this software and its 12 | // documentation for educational, research and non-profit purposes, without 13 | // fee, and without a written agreement is hereby granted, provided that the 14 | // above copyright notice and the following paragraph appear in all copies. 15 | // 16 | // The University of North Carolina at Chapel Hill make no representations 17 | // about the suitability of this software for any purpose. It is provided 18 | // 'as is' without express or implied warranty. 19 | // 20 | // Please send BUG REPORTS to ccwu@cs.unc.edu 21 | // 22 | //////////////////////////////////////////////////////////////////////////// 23 | 24 | 25 | 26 | #ifndef _SIFT_SHADER_MAN_H 27 | #define _SIFT_SHADER_MAN_H 28 | 29 | 30 | #include "ProgramGPU.h" 31 | #include "ProgramGLSL.h" 32 | /////////////////////////////////////////////////////////////////// 33 | //class ShaderMan 34 | //description: pure static class 35 | // wrapper of shaders from different GPU languages 36 | /////////////////////////////////////////////////////////////////// 37 | class SiftParam; 38 | class FilterGLSL; 39 | 40 | class ShaderMan 41 | { 42 | public: 43 | static ShaderBag* s_bag; 44 | public: 45 | static void SelectInitialSmoothingFilter(int octave_min, SiftParam¶m); 46 | static void UseShaderMarginCopy(int xmax, int ymax); 47 | static void UseShaderOrientation(int gtex, int width, int height, float sigma, int auxtex, float step, int keypoint_list); 48 | static void UseShaderDescriptor(int gtex, int otex, int dwidth, int fwidth, int width, int height, float sigma); 49 | static void UseShaderSimpleOrientation(int oTex, float sigma, float sigma_step); 50 | static void UseShaderCopyKeypoint(); 51 | static void UseShaderGenVBO( float width, float fwidth, float size); 52 | static void UseShaderDebug(); 53 | static void UseShaderZeroPass(); 54 | static void UseShaderGenListStart(float fw, int tex0); 55 | static void UseShaderGenListStep(int tex, int tex0); 56 | static void UseShaderGenListEnd(int ktex); 57 | static void UseShaderGenListHisto(); 58 | static void UseShaderGenListInit(int w, int h, int tight = 1); 59 | static void UseShaderKeypoint(int texU, int texD); 60 | static void UseShaderGradientPass(int texP = 0); 61 | static void UseShaderDisplayKeypoints(); 62 | static void UseShaderDisplayGrad(); 63 | static void UseShaderRGB2Gray(); 64 | static void UseShaderDisplayDOG(); 65 | static void UseShaderDisplayGaussian(); 66 | /////////////////////////////////////////// 67 | static void FilterInitialImage(GLTexImage* tex, GLTexImage* buf); 68 | static void FilterSampledImage(GLTexImage* tex, GLTexImage* buf); 69 | static void FilterImage(FilterProgram* filter, GLTexImage *dst, GLTexImage *src, GLTexImage*tmp); 70 | static void TextureCopy(GLTexImage*dst, GLTexImage*src); 71 | static void TextureDownSample(GLTexImage* dst, GLTexImage*src, int scale = 2); 72 | static void TextureUpSample(GLTexImage* dst, GLTexImage*src, int scale); 73 | /////////////////////////////////////////////// 74 | static void InitShaderMan(SiftParam¶m); 75 | static void DestroyShaders(); 76 | static int HaveShaderMan(){return s_bag != NULL;} 77 | static void UnloadProgram(); 78 | }; 79 | 80 | #endif 81 | -------------------------------------------------------------------------------- /src/SiftGPU/SiftMatch.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: SiftMatch.h 3 | // Author: Changchang Wu 4 | // Description : interface for the SiftMatchGL 5 | //// 6 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 7 | // All Rights Reserved 8 | // 9 | // Permission to use, copy, modify and distribute this software and its 10 | // documentation for educational, research and non-profit purposes, without 11 | // fee, and without a written agreement is hereby granted, provided that the 12 | // above copyright notice and the following paragraph appear in all copies. 13 | // 14 | // The University of North Carolina at Chapel Hill make no representations 15 | // about the suitability of this software for any purpose. It is provided 16 | // 'as is' without express or implied warranty. 17 | // 18 | // Please send BUG REPORTS to ccwu@cs.unc.edu 19 | // 20 | //////////////////////////////////////////////////////////////////////////// 21 | 22 | 23 | #ifndef GPU_SIFT_MATCH_H 24 | #define GPU_SIFT_MATCH_H 25 | class GLTexImage; 26 | class ProgramGPU; 27 | 28 | class SiftMatchGL:public SiftMatchGPU 29 | { 30 | typedef GLint ParameterGL; 31 | private: 32 | //tex storage 33 | GLTexImage _texLoc[2]; 34 | GLTexImage _texDes[2]; 35 | GLTexImage _texDot; 36 | GLTexImage _texMatch[2]; 37 | 38 | //programs 39 | ProgramGPU * s_multiply; 40 | ProgramGPU * s_guided_mult; 41 | ProgramGPU * s_col_max; 42 | ProgramGPU * s_row_max; 43 | 44 | //matching parameters 45 | ParameterGL _param_multiply_tex1; 46 | ParameterGL _param_multiply_tex2; 47 | ParameterGL _param_multiply_size; 48 | ParameterGL _param_rowmax_param; 49 | ParameterGL _param_colmax_param; 50 | 51 | ///guided matching 52 | ParameterGL _param_guided_mult_tex1; 53 | ParameterGL _param_guided_mult_tex2; 54 | ParameterGL _param_guided_mult_texl1; 55 | ParameterGL _param_guided_mult_texl2; 56 | ParameterGL _param_guided_mult_h; 57 | ParameterGL _param_guided_mult_f; 58 | ParameterGL _param_guided_mult_param; 59 | // 60 | int _max_sift; 61 | int _num_sift[2]; 62 | int _id_sift[2]; 63 | int _have_loc[2]; 64 | 65 | //gpu parameter 66 | int _sift_per_stripe; 67 | int _sift_num_stripe; 68 | int _sift_per_row; 69 | int _pixel_per_sift; 70 | int _initialized; 71 | // 72 | vector sift_buffer; 73 | private: 74 | void AllocateSiftMatch(); 75 | void LoadSiftMatchShadersGLSL(); 76 | int GetBestMatch(int max_match, int match_buffer[][2], float distmax, float ratiomax, int mbm); 77 | public: 78 | SiftMatchGL(int max_sift, int use_glsl); 79 | virtual ~SiftMatchGL(); 80 | public: 81 | void InitSiftMatch(); 82 | void SetMaxSift(int max_sift); 83 | void SetDescriptors(int index, int num, const unsigned char * descriptor, int id = -1); 84 | void SetDescriptors(int index, int num, const float * descriptor, int id = -1); 85 | void SetFeautreLocation(int index, const float* locatoins, int gap); 86 | int GetSiftMatch(int max_match, int match_buffer[][2], float distmax, float ratiomax, int mbm); 87 | int GetGuidedSiftMatch(int max_match, int match_buffer[][2], float H[3][3], float F[3][3], 88 | float distmax, float ratiomax, float hdistmax,float fdistmax, int mbm); 89 | }; 90 | 91 | 92 | #endif 93 | 94 | -------------------------------------------------------------------------------- /src/SiftGPU/SiftMatchCU.cpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: SiftMatchCU.cpp 3 | // Author: Changchang Wu 4 | // Description : implementation of the SiftMatchCU class. 5 | // CUDA-based implementation of SiftMatch 6 | // 7 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 8 | // All Rights Reserved 9 | // 10 | // Permission to use, copy, modify and distribute this software and its 11 | // documentation for educational, research and non-profit purposes, without 12 | // fee, and without a written agreement is hereby granted, provided that the 13 | // above copyright notice and the following paragraph appear in all copies. 14 | // 15 | // The University of North Carolina at Chapel Hill make no representations 16 | // about the suitability of this software for any purpose. It is provided 17 | // 'as is' without express or implied warranty. 18 | // 19 | // Please send BUG REPORTS to ccwu@cs.unc.edu 20 | // 21 | //////////////////////////////////////////////////////////////////////////// 22 | 23 | #if defined(CUDA_SIFTGPU_ENABLED) 24 | 25 | #include "GL/glew.h" 26 | #include 27 | #include 28 | #include 29 | #include 30 | #include 31 | using namespace std; 32 | 33 | 34 | #include "GlobalUtil.h" 35 | #include "CuTexImage.h" 36 | #include "SiftGPU.h" 37 | #include "ProgramCU.h" 38 | #include "SiftMatchCU.h" 39 | 40 | 41 | SiftMatchCU::SiftMatchCU(int max_sift):SiftMatchGPU() 42 | { 43 | _num_sift[0] = _num_sift[1] = 0; 44 | _id_sift[0] = _id_sift[1] = 0; 45 | _have_loc[0] = _have_loc[1] = 0; 46 | _max_sift = max_sift <=0 ? 4096 : ((max_sift + 31)/ 32 * 32) ; 47 | _initialized = 0; 48 | } 49 | 50 | void SiftMatchCU::SetMaxSift(int max_sift) 51 | { 52 | max_sift = ((max_sift + 31)/32)*32; 53 | if(max_sift > GlobalUtil::_texMaxDimGL) max_sift = GlobalUtil::_texMaxDimGL; 54 | _max_sift = max_sift; 55 | } 56 | 57 | 58 | int SiftMatchCU::CheckCudaDevice(int device) 59 | { 60 | return ProgramCU::CheckCudaDevice(device); 61 | } 62 | 63 | void SiftMatchCU::InitSiftMatch() 64 | { 65 | if(_initialized) return; 66 | GlobalUtil::_GoodOpenGL = max(GlobalUtil::_GoodOpenGL, 1); 67 | _initialized = 1; 68 | } 69 | 70 | 71 | void SiftMatchCU::SetDescriptors(int index, int num, const unsigned char* descriptors, int id) 72 | { 73 | if(_initialized == 0) return; 74 | if (index > 1) index = 1; 75 | if (index < 0) index = 0; 76 | _have_loc[index] = 0; 77 | //the same feature is already set 78 | if(id !=-1 && id == _id_sift[index]) return ; 79 | _id_sift[index] = id; 80 | if(num > _max_sift) num = _max_sift; 81 | _num_sift[index] = num; 82 | _texDes[index].InitTexture(8 * num, 1, 4); 83 | _texDes[index].CopyFromHost((void*)descriptors); 84 | } 85 | 86 | 87 | void SiftMatchCU::SetDescriptors(int index, int num, const float* descriptors, int id) 88 | { 89 | if(_initialized == 0) return; 90 | if (index > 1) index = 1; 91 | if (index < 0) index = 0; 92 | if(num > _max_sift) num = _max_sift; 93 | 94 | sift_buffer.resize(num * 128 /4); 95 | unsigned char * pub = (unsigned char*) &sift_buffer[0]; 96 | for(int i = 0; i < 128 * num; ++i) 97 | { 98 | pub[i] = int(512 * descriptors[i] + 0.5); 99 | } 100 | SetDescriptors(index, num, pub, id); 101 | } 102 | 103 | 104 | void SiftMatchCU::SetFeautreLocation(int index, const float* locations, int gap) 105 | { 106 | if(_num_sift[index] <=0) return; 107 | _texLoc[index].InitTexture(_num_sift[index], 1, 2); 108 | if(gap == 0) 109 | { 110 | _texLoc[index].CopyFromHost(locations); 111 | }else 112 | { 113 | sift_buffer.resize(_num_sift[index] * 2); 114 | float* pbuf = (float*) (&sift_buffer[0]); 115 | for(int i = 0; i < _num_sift[index]; ++i) 116 | { 117 | pbuf[i*2] = *locations++; 118 | pbuf[i*2+1]= *locations ++; 119 | locations += gap; 120 | } 121 | _texLoc[index].CopyFromHost(pbuf); 122 | } 123 | _have_loc[index] = 1; 124 | } 125 | 126 | int SiftMatchCU::GetGuidedSiftMatch(int max_match, int match_buffer[][2], float H[3][3], float F[3][3], 127 | float distmax, float ratiomax, float hdistmax, float fdistmax, int mbm) 128 | { 129 | 130 | if(_initialized ==0) return 0; 131 | if(_num_sift[0] <= 0 || _num_sift[1] <=0) return 0; 132 | if(_have_loc[0] == 0 || _have_loc[1] == 0) return 0; 133 | ProgramCU::MultiplyDescriptorG(_texDes, _texDes+1, _texLoc, _texLoc + 1, 134 | &_texDot, (mbm? &_texCRT: NULL), H, hdistmax, F, fdistmax); 135 | return GetBestMatch(max_match, match_buffer, distmax, ratiomax, mbm); 136 | } 137 | 138 | 139 | int SiftMatchCU::GetSiftMatch(int max_match, int match_buffer[][2], float distmax, float ratiomax, int mbm) 140 | { 141 | if(_initialized ==0) return 0; 142 | if(_num_sift[0] <= 0 || _num_sift[1] <=0) return 0; 143 | ProgramCU::MultiplyDescriptor(_texDes, _texDes + 1, &_texDot, (mbm? &_texCRT: NULL)); 144 | return GetBestMatch(max_match, match_buffer, distmax, ratiomax, mbm); 145 | } 146 | 147 | 148 | int SiftMatchCU::GetBestMatch(int max_match, int match_buffer[][2], float distmax, float ratiomax, int mbm) 149 | { 150 | sift_buffer.resize(_num_sift[0] + _num_sift[1]); 151 | int * buffer1 = (int*) &sift_buffer[0], * buffer2 = (int*) &sift_buffer[_num_sift[0]]; 152 | _texMatch[0].InitTexture(_num_sift[0], 1); 153 | ProgramCU::GetRowMatch(&_texDot, _texMatch, distmax, ratiomax); 154 | _texMatch[0].CopyToHost(buffer1); 155 | if(mbm) 156 | { 157 | _texMatch[1].InitTexture(_num_sift[1], 1); 158 | ProgramCU::GetColMatch(&_texCRT, _texMatch + 1, distmax, ratiomax); 159 | _texMatch[1].CopyToHost(buffer2); 160 | } 161 | int nmatch = 0, j ; 162 | for(int i = 0; i < _num_sift[0] && nmatch < max_match; ++i) 163 | { 164 | j = int(buffer1[i]); 165 | if( j>= 0 && (!mbm ||int(buffer2[j]) == i)) 166 | { 167 | match_buffer[nmatch][0] = i; 168 | match_buffer[nmatch][1] = j; 169 | nmatch++; 170 | } 171 | } 172 | return nmatch; 173 | } 174 | 175 | #endif 176 | 177 | -------------------------------------------------------------------------------- /src/SiftGPU/SiftMatchCU.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: SiftMatchCU.h 3 | // Author: Changchang Wu 4 | // Description : interface for the SiftMatchCU 5 | //// 6 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 7 | // All Rights Reserved 8 | // 9 | // Permission to use, copy, modify and distribute this software and its 10 | // documentation for educational, research and non-profit purposes, without 11 | // fee, and without a written agreement is hereby granted, provided that the 12 | // above copyright notice and the following paragraph appear in all copies. 13 | // 14 | // The University of North Carolina at Chapel Hill make no representations 15 | // about the suitability of this software for any purpose. It is provided 16 | // 'as is' without express or implied warranty. 17 | // 18 | // Please send BUG REPORTS to ccwu@cs.unc.edu 19 | // 20 | //////////////////////////////////////////////////////////////////////////// 21 | 22 | 23 | 24 | #ifndef CU_SIFT_MATCH_H 25 | #define CU_SIFT_MATCH_H 26 | #if defined(CUDA_SIFTGPU_ENABLED) 27 | 28 | class CuTexImage; 29 | class SiftMatchCU:public SiftMatchGPU 30 | { 31 | private: 32 | //tex storage 33 | CuTexImage _texLoc[2]; 34 | CuTexImage _texDes[2]; 35 | CuTexImage _texDot; 36 | CuTexImage _texMatch[2]; 37 | CuTexImage _texCRT; 38 | 39 | //programs 40 | // 41 | int _max_sift; 42 | int _num_sift[2]; 43 | int _id_sift[2]; 44 | int _have_loc[2]; 45 | 46 | //gpu parameter 47 | int _initialized; 48 | vector sift_buffer; 49 | private: 50 | int GetBestMatch(int max_match, int match_buffer[][2], float distmax, float ratiomax, int mbm); 51 | public: 52 | SiftMatchCU(int max_sift); 53 | virtual ~SiftMatchCU(){}; 54 | void InitSiftMatch(); 55 | void SetMaxSift(int max_sift); 56 | void SetDescriptors(int index, int num, const unsigned char * descriptor, int id = -1); 57 | void SetDescriptors(int index, int num, const float * descriptor, int id = -1); 58 | void SetFeautreLocation(int index, const float* locatoins, int gap); 59 | int GetSiftMatch(int max_match, int match_buffer[][2], float distmax, float ratiomax, int mbm); 60 | int GetGuidedSiftMatch(int max_match, int match_buffer[][2], float H[3][3], float F[3][3], 61 | float distmax, float ratiomax, float hdistmax, float fdistmax, int mbm); 62 | ////////////////////////////// 63 | static int CheckCudaDevice(int device); 64 | }; 65 | 66 | #endif 67 | #endif 68 | 69 | -------------------------------------------------------------------------------- /src/TestWin/BasicTestWin.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: BasicTestWin.h 3 | // Author: Changchang Wu 4 | // Description : 5 | // BasicTestWin: basic viewer of SiftGPU 6 | // both TestWinGlut and GLTestWndare derived from this 7 | // SiftDriver: A simple driver of SiftGPU 8 | // 9 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 10 | // All Rights Reserved 11 | // 12 | // Permission to use, copy, modify and distribute this software and its 13 | // documentation for educational, research and non-profit purposes, without 14 | // fee, and without a written agreement is hereby granted, provided that the 15 | // above copyright notice and the following paragraph appear in all copies. 16 | // 17 | // The University of North Carolina at Chapel Hill make no representations 18 | // about the suitability of this software for any purpose. It is provided 19 | // 'as is' without express or implied warranty. 20 | // 21 | // Please send BUG REPORTS to ccwu@cs.unc.edu 22 | // 23 | //////////////////////////////////////////////////////////////////////////// 24 | 25 | 26 | #if !defined(BASIC_TEST_WIN_H) 27 | #define BASIC_TEST_WIN_H 28 | 29 | #if _WIN32 && _MSC_VER > 1000 30 | #pragma once 31 | #endif // _MSC_VER > 1000 32 | 33 | 34 | #include "GLTransform.h" 35 | 36 | class SiftParam; 37 | class SiftGPUEX; 38 | 39 | ////////////////////////////////////////////////////////////////////////// 40 | //class TestDriver 41 | //description: simple SiftGPU driver 42 | ///////////////////////////////////////////////////////////////////////// 43 | 44 | 45 | ////////////////////////////////////////////////////////////////////////// 46 | //class BasicTestWin 47 | //description: basic SiftGPU viewer 48 | // two implementations are GLTestWnd and TestWinGlut 49 | /////////////////////////////////////////////////////////////////////////// 50 | 51 | 52 | class BasicTestWin 53 | { 54 | GlTransform _transform; 55 | int _looping; 56 | int _motion; 57 | int _motion_x, _motion_y; 58 | char _title[512]; 59 | int _view; 60 | int _sub_view; 61 | int _win_w, _win_h; 62 | 63 | protected: 64 | float _displayScale; 65 | int _imgWidth, _imgHeight; 66 | int _win_x, _win_y; 67 | int _current; 68 | private: 69 | // 70 | float _stat_tstart; 71 | int _stat_frames; 72 | protected: 73 | SiftGPUEX* _sift; 74 | public: 75 | void SetVerbose(); 76 | void FitWindow(); 77 | void OnIdle(); 78 | void EndMotion(); 79 | void StartMotion(int x, int y); 80 | void SetView(); 81 | void ReShape(int w, int h); 82 | void MoveMouse(int x, int y); 83 | void KeyInput(int key); 84 | void Display(); 85 | virtual void UpdateDisplay()=0; 86 | BasicTestWin(); 87 | virtual ~BasicTestWin(); 88 | void ParseSiftParam(int argc, char** argv); 89 | void RunSiftGPU(); 90 | static float myclock(); 91 | protected: 92 | virtual void SetWindowTitle(char * title)=0; 93 | virtual void SetDisplaySize(int w, int h)=0; 94 | }; 95 | 96 | #endif // !defined(BASIC_TEST_WIN_H) 97 | 98 | -------------------------------------------------------------------------------- /src/TestWin/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | find_package(OpenGL REQUIRED) 2 | find_package(GLUT REQUIRED) 3 | find_package(Glew REQUIRED) 4 | 5 | include_directories( ${GLEW_INCLUDE_DIRS} ) 6 | 7 | ADD_EXECUTABLE(SimpleSIFT SimpleSIFT.cpp) 8 | TARGET_LINK_LIBRARIES(SimpleSIFT siftgpu) 9 | 10 | ADD_EXECUTABLE(TestWinGlut TestWinGlut.cpp BasicTestWin.cpp ) 11 | TARGET_LINK_LIBRARIES(TestWinGlut siftgpu) 12 | 13 | set(CMAKE_VERBOSE_MAKEFILE ON) 14 | -------------------------------------------------------------------------------- /src/TestWin/GLTestWnd.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: GLTestWnd.h 3 | // Author: Changchang Wu 4 | // Description : interface for the GLTestWnd class. 5 | // Win32-based SiftGPU viewer 6 | // 7 | // 8 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 9 | // All Rights Reserved 10 | // 11 | // Permission to use, copy, modify and distribute this software and its 12 | // documentation for educational, research and non-profit purposes, without 13 | // fee, and without a written agreement is hereby granted, provided that the 14 | // above copyright notice and the following paragraph appear in all copies. 15 | // 16 | // The University of North Carolina at Chapel Hill make no representations 17 | // about the suitability of this software for any purpose. It is provided 18 | // 'as is' without express or implied warranty. 19 | // 20 | // Please send BUG REPORTS to ccwu@cs.unc.edu 21 | // 22 | //////////////////////////////////////////////////////////////////////////// 23 | 24 | 25 | #if !defined(GL_TEST_WND_H) 26 | #define GL_TEST_WND_H 27 | 28 | #if _WIN32 && _MSC_VER > 1000 29 | #pragma once 30 | #endif // _MSC_VER > 1000 31 | 32 | #define WM_MY_IDLE WM_USER+1 33 | 34 | 35 | 36 | 37 | class BasicTestWin; 38 | class GLTestWnd : public BasicTestWin 39 | { 40 | HGLRC _hglrc; 41 | HWND _hWndMain; 42 | private: 43 | static LRESULT CALLBACK ___WndProc(HWND, UINT, WPARAM, LPARAM); 44 | inline LRESULT _WndProc(UINT, WPARAM, LPARAM); 45 | void CreateWindowGL(); 46 | static void RegisterWindowClass(); 47 | public: 48 | void UpdateDisplay(); 49 | void SetWindowTitle(char *title); 50 | void SetDisplaySize(int w, int h); 51 | void ParseCommandLine(LPSTR cmd); 52 | void glPaint(HDC ); 53 | void glResize(int w, int h); 54 | void glCreateRC(HDC hdc); 55 | GLTestWnd(LPSTR cmd); 56 | GLTestWnd(int argc, char**argv); 57 | virtual ~GLTestWnd(); 58 | 59 | }; 60 | 61 | #endif // !defined(GL_TEST_WND_H) 62 | -------------------------------------------------------------------------------- /src/TestWin/GLTransform.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: GLTransform.h 3 | // Author: Changchang Wu 4 | // Description : GLTransform tookit for opengl display 5 | // 6 | // 7 | // 8 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 9 | // All Rights Reserved 10 | // 11 | // Permission to use, copy, modify and distribute this software and its 12 | // documentation for educational, research and non-profit purposes, without 13 | // fee, and without a written agreement is hereby granted, provided that the 14 | // above copyright notice and the following paragraph appear in all copies. 15 | // 16 | // The University of North Carolina at Chapel Hill make no representations 17 | // about the suitability of this software for any purpose. It is provided 18 | // 'as is' without express or implied warranty. 19 | // 20 | // Please send BUG REPORTS to ccwu@cs.unc.edu 21 | // 22 | //////////////////////////////////////////////////////////////////////////// 23 | #if !defined(GL_TRANSFORM_H) 24 | #define GL_TRANSFORM_H 25 | 26 | #include 27 | class GlTransform 28 | { 29 | public: 30 | double cx, cy; 31 | double q[4]; 32 | double t[3]; 33 | double sc, ds; 34 | GlTransform() 35 | { 36 | q[0] = 1.0; 37 | q[1] = q[2] = q[3] =0; 38 | t[0] = t[1] = t[2] =0; 39 | sc = 1.0; 40 | cx = cy = 0; 41 | } 42 | void reset() 43 | { 44 | q[0] = 1.0; 45 | q[1] = q[2] = q[3] =0; 46 | t[0] = t[1] = t[2] =0; 47 | sc = 1.0; 48 | } 49 | void operator=(GlTransform& v) 50 | { 51 | q[0] = v.q[0]; 52 | q[1] = v.q[1]; 53 | q[2] = v.q[2]; 54 | q[3] = v.q[3]; 55 | t[0] = v.t[0]; 56 | t[1] = v.t[1]; 57 | t[2] = v.t[2]; 58 | sc = v.sc; 59 | } 60 | void operator *=(double scale) 61 | { 62 | sc *= scale; 63 | t[0]*= scale; 64 | t[1]*= scale; 65 | t[2]*= scale; 66 | } 67 | void scaleset(double scale) 68 | { 69 | double ds = scale/sc; 70 | t[0]*= ds; 71 | t[1]*= ds; 72 | t[2]*= ds; 73 | sc = scale; 74 | } 75 | void scaleup() 76 | { 77 | double scale; 78 | if(sc < 6) scale = float(int(sc))+1; 79 | else scale = sc * 2.0; 80 | scaleset(scale); 81 | } 82 | void scaledown() 83 | { 84 | double scale; 85 | if(sc >1.0 &&sc < 2.0) scale = 1.0; 86 | else scale = sc*0.5; 87 | scaleset(scale); 88 | } 89 | void translate(int dx, int dy, int dz =0) 90 | { 91 | t[0] += dx; 92 | t[1] += dy; 93 | t[2] += dz; 94 | } 95 | void setcenter(double x, double y) 96 | { 97 | cx = x; 98 | cy = y; 99 | t[0] = t[1] = t[2] = 0; 100 | } 101 | 102 | void transform(double es = 1.0) 103 | { 104 | double s = sc* es; 105 | glTranslated(cx*es, cy*es, 0.0); 106 | glTranslated(t[0] ,t[1] ,t[2]); 107 | glScaled(s,s,s); 108 | glTranslated(-cx, - cy, 0); 109 | } 110 | }; 111 | 112 | #endif 113 | 114 | -------------------------------------------------------------------------------- /src/TestWin/SimpleSIFT.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/amusi/SIFT-GPU/9f7ba10f9f9dcbfd1bc83753669e4ec00b7d3e01/src/TestWin/SimpleSIFT.cpp -------------------------------------------------------------------------------- /src/TestWin/TestWinGlut.cpp: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: TestWinGlut.cpp 3 | // Author: Changchang Wu 4 | // Description : Implementation of TestWinGlut Class 5 | // 6 | // 7 | // 8 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 9 | // All Rights Reserved 10 | // 11 | // Permission to use, copy, modify and distribute this software and its 12 | // documentation for educational, research and non-profit purposes, without 13 | // fee, and without a written agreement is hereby granted, provided that the 14 | // above copyright notice and the following paragraph appear in all copies. 15 | // 16 | // The University of North Carolina at Chapel Hill make no representations 17 | // about the suitability of this software for any purpose. It is provided 18 | // 'as is' without express or implied warranty. 19 | // 20 | // Please send BUG REPORTS to ccwu@cs.unc.edu 21 | // 22 | //////////////////////////////////////////////////////////////////////////// 23 | 24 | #include 25 | #ifdef __APPLE__ 26 | #include "GLUT/glut.h" 27 | #else 28 | #include "GL/glut.h" 29 | #endif 30 | #include "BasicTestWin.h" 31 | #include "TestWinGlut.h" 32 | 33 | ///main etry 34 | 35 | int main(int argc, char**argv) 36 | { 37 | // 38 | ////uncomment this if you want to parse glut parameters 39 | glutInit(&argc, argv); 40 | 41 | 42 | //create the glut window 43 | TestWinGlut twg(argc, argv); 44 | // TestWinGlut twg2(0, NULL); 45 | 46 | 47 | //run the glut main loop to display all the TestWinGlut Windows 48 | TestWinGlut::Run(); 49 | 50 | return 0; 51 | } 52 | 53 | ////////////////////////////////////////////////////////////////////// 54 | // TestWinGlut Class 55 | ////////////////////////////////////////////////////////////////////// 56 | 57 | 58 | 59 | ///////////////////////////////////////////////////////////////////// 60 | ///Global Variables 61 | ////////////////////////////////////////////////////////////////////// 62 | TestWinGlut* TestWinGlut::_win[TestWinGlut::MAX_TEST_WIN_GLUT]; 63 | 64 | ////////////////////////////////////////////////////////////////////// 65 | // Construction/Destruction 66 | ////////////////////////////////////////////////////////////////////// 67 | 68 | 69 | 70 | TestWinGlut::TestWinGlut(int argc, char**argv) 71 | 72 | { 73 | //enable console output 74 | SetVerbose(); 75 | ParseSiftParam(argc, argv); 76 | 77 | //create glut window 78 | CreateGLUT(); 79 | 80 | //parse parameters and run sift 81 | RunSiftGPU(); 82 | 83 | 84 | } 85 | 86 | TestWinGlut::~TestWinGlut() 87 | { 88 | 89 | } 90 | 91 | 92 | 93 | void TestWinGlut::CreateGLUT() 94 | { 95 | int id; 96 | glutInitDisplayMode (GLUT_RGBA | GLUT_DOUBLE); 97 | glutInitWindowSize (600,450); 98 | if(_win_x != -1) glutInitWindowPosition(_win_x, _win_y); 99 | id = glutCreateWindow ("SIFT_GPU"); 100 | if(id>0) 101 | { 102 | if(id >=MAX_TEST_WIN_GLUT) exit(0);//should not happen... 103 | 104 | // 105 | glutDisplayFunc (display); 106 | glutKeyboardFunc(keyboard); 107 | glutReshapeFunc (reshape); 108 | glutIdleFunc(idle); 109 | glutMotionFunc(motion); 110 | glutMouseFunc(button); 111 | //save a pointer to the stucture 112 | _win[id] = this; 113 | } 114 | 115 | } 116 | 117 | void TestWinGlut::idle() 118 | { 119 | int id = glutGetWindow(); 120 | _win[id]->OnIdle(); 121 | } 122 | 123 | void TestWinGlut::keyboard(unsigned char key, int x, int y) 124 | { 125 | int id = glutGetWindow(); 126 | 127 | _win[id]->KeyInput(key); 128 | glutPostRedisplay(); 129 | } 130 | void TestWinGlut::reshape(int w, int h) 131 | { 132 | int id = glutGetWindow(); 133 | _win[id]->ReShape(w, h); 134 | glutPostRedisplay(); 135 | } 136 | void TestWinGlut::display() 137 | { 138 | static int firstcall=1; 139 | int id = glutGetWindow(); 140 | _win[id]->Display(); 141 | glutSwapBuffers(); 142 | if(firstcall ==0) 143 | { 144 | }else 145 | { 146 | //if it is the first display call, redraw 147 | firstcall = 0; 148 | glutPostRedisplay(); 149 | } 150 | } 151 | 152 | void TestWinGlut::Run() 153 | { 154 | glutMainLoop(); 155 | } 156 | 157 | void TestWinGlut::motion(int x, int y) 158 | { 159 | int id = glutGetWindow(); 160 | _win[id]->MoveMouse(x, y); 161 | } 162 | 163 | void TestWinGlut::SetWindowTitle(char *title) 164 | { 165 | glutSetWindowTitle(title); 166 | } 167 | 168 | void TestWinGlut::button(int button, int state,int x, int y) 169 | { 170 | int id = glutGetWindow(); 171 | if (button == GLUT_LEFT_BUTTON) 172 | { 173 | if(state == GLUT_DOWN) 174 | _win[id]->StartMotion(x, y); 175 | else if (state == GLUT_UP) 176 | _win[id]->EndMotion(); 177 | } 178 | } 179 | 180 | void TestWinGlut::UpdateDisplay() 181 | { 182 | glutPostRedisplay(); 183 | } 184 | 185 | void TestWinGlut::SetDisplaySize(int w, int h) 186 | { 187 | glutReshapeWindow(w, h); 188 | } 189 | -------------------------------------------------------------------------------- /src/TestWin/TestWinGlut.h: -------------------------------------------------------------------------------- 1 | //////////////////////////////////////////////////////////////////////////// 2 | // File: TestWinGlut.h 3 | // Author: Changchang Wu 4 | // Description : interface for the TestWinGlut class. 5 | // GLUT-based SiftGPU viewer 6 | // 7 | // 8 | // Copyright (c) 2007 University of North Carolina at Chapel Hill 9 | // All Rights Reserved 10 | // 11 | // Permission to use, copy, modify and distribute this software and its 12 | // documentation for educational, research and non-profit purposes, without 13 | // fee, and without a written agreement is hereby granted, provided that the 14 | // above copyright notice and the following paragraph appear in all copies. 15 | // 16 | // The University of North Carolina at Chapel Hill make no representations 17 | // about the suitability of this software for any purpose. It is provided 18 | // 'as is' without express or implied warranty. 19 | // 20 | // Please send BUG REPORTS to ccwu@cs.unc.edu 21 | // 22 | //////////////////////////////////////////////////////////////////////////// 23 | 24 | #if !defined(TEST_WIN_GLUT_H) 25 | #define TEST_WIN_GLUT_H 26 | 27 | #if _WIN32 && _MSC_VER > 1000 28 | #pragma once 29 | #endif // _MSC_VER > 1000 30 | 31 | class BasicTestWin; 32 | 33 | class TestWinGlut : public BasicTestWin 34 | { 35 | enum 36 | { 37 | MAX_TEST_WIN_GLUT = 100 38 | }; 39 | static void button(int button, int state,int x, int y); 40 | static void display(); 41 | static void keyboard(unsigned char key, int x, int y); 42 | static void idle(); 43 | void CreateGLUT(); 44 | static void reshape(int w, int h); 45 | 46 | //may also use std::vector 47 | static TestWinGlut * _win[MAX_TEST_WIN_GLUT]; 48 | 49 | public: 50 | void SetDisplaySize(int w, int h); 51 | void UpdateDisplay(); 52 | void SetWindowTitle(char *title); 53 | static void motion(int x, int y); 54 | static void Run(); 55 | TestWinGlut(int argc, char**argv); 56 | virtual ~TestWinGlut(); 57 | 58 | 59 | }; 60 | 61 | #endif // !defined(TEST_WIN_GLUT_H) 62 | 63 | --------------------------------------------------------------------------------