实例介绍
【实例简介】
OpenGL环境配置全文件,与博客教程:OpenGL红宝书第九版环境配置(VS2017)相配套
【实例截图】
【核心代码】
OGLPG-9th-Edition
└── OGLPG-9th-Edition
├── glut-3.7.6-bin
│ ├── glut32.dll
│ ├── glut32.lib
│ ├── glut.def
│ ├── glut.h
│ └── README-win32.txt
├── __MACOSX
│ └── OGLPG-9th-Edition
│ ├── bin
│ │ └── media
│ │ └── shaders
│ │ ├── doublewrite
│ │ ├── gouraud
│ │ ├── keypress
│ │ ├── oit
│ │ ├── overdrawcount
│ │ ├── pointsprites
│ │ ├── primitive_restart
│ │ ├── shadowmap
│ │ ├── simpletess
│ │ ├── teapot
│ │ └── triangles
│ ├── build
│ │ └── templates
│ ├── include
│ │ ├── GL
│ │ ├── GL3
│ │ └── Shapes
│ ├── lib
│ │ └── glfw
│ │ ├── CMake
│ │ │ └── modules
│ │ ├── deps
│ │ │ ├── EGL
│ │ │ ├── GL
│ │ │ ├── glad
│ │ │ └── KHR
│ │ ├── docs
│ │ │ └── html
│ │ │ └── search
│ │ ├── examples
│ │ ├── include
│ │ │ └── GLFW
│ │ ├── src
│ │ └── tests
│ ├── src
│ │ ├── 01-keypress
│ │ ├── 01-triangles
│ │ ├── 03-drawcommands
│ │ ├── 03-instancing
│ │ ├── 03-instancing2
│ │ ├── 03-instancing3
│ │ ├── 03-pointsprites
│ │ ├── 03-primitiverestart
│ │ ├── 03-xfb
│ │ ├── 04-gouraud
│ │ ├── 04-gouraud-float
│ │ ├── 04-shadowmap
│ │ ├── 06-cubemap
│ │ ├── 06-load-texture
│ │ ├── 06-mipfilters
│ │ ├── 06-mipmap
│ │ ├── 06-multitexture
│ │ ├── 06-statictexture
│ │ ├── 06-texturewrapping
│ │ ├── 06-volumetexturing
│ │ ├── 08-lightmodels
│ │ ├── 09-simpletess
│ │ ├── 09-teapot
│ │ ├── 10-draw-xfb
│ │ ├── 10-fur
│ │ ├── 10-viewport-array
│ │ ├── 11-doublewrite
│ │ ├── 11-oit
│ │ ├── 11-overdrawcount
│ │ ├── 12-imageprocessing
│ │ ├── 12-particlesimulator
│ │ ├── 12-raytracer
│ │ └── 12-simplecompute
│ ├── tools
│ │ ├── obj2vbm
│ │ └── vbmexport
│ └── vermilion
└── OGLPG-9th-Edition
├── bin
│ └── media
│ └── shaders
│ ├── doublewrite
│ │ ├── blit.fs.glsl
│ │ ├── blit.vs.glsl
│ │ ├── double_write.fs.glsl
│ │ └── double_write.vs.glsl
│ ├── gouraud
│ │ ├── gouraud.frag
│ │ └── gouraud.vert
│ ├── keypress
│ │ ├── keypress.frag
│ │ └── keypress.vert
│ ├── oit
│ │ ├── build_lists.fs.glsl
│ │ ├── build_lists.vs.glsl
│ │ ├── resolve_lists.fs.glsl
│ │ └── resolve_lists.vs.glsl
│ ├── overdrawcount
│ │ ├── blit.fs.glsl
│ │ ├── blit.vs.glsl
│ │ ├── overdraw_count.fs.glsl
│ │ └── overdraw_count.vs.glsl
│ ├── pointsprites
│ │ ├── pointsprites2.fs.glsl
│ │ ├── pointsprites.fs.glsl
│ │ └── pointsprites.vs.glsl
│ ├── primitive_restart
│ │ ├── primitive_restart.fs.glsl
│ │ └── primitive_restart.vs.glsl
│ ├── shadowmap
│ │ ├── shadowmap_scene.fs.glsl
│ │ ├── shadowmap_scene.vs.glsl
│ │ ├── shadowmap_shadow.fs.glsl
│ │ └── shadowmap_shadow.vs.glsl
│ ├── simpletess
│ │ ├── simple.cont
│ │ ├── simple.eval
│ │ ├── simple.frag
│ │ └── simple.vert
│ ├── teapot
│ │ ├── teapot.cont
│ │ ├── teapot.eval
│ │ ├── teapot.frag
│ │ └── teapot.vert
│ └── triangles
│ ├── triangles.frag
│ └── triangles.vert
├── build
│ └── templates
│ └── vs2013.vcxproj.user.in
├── CMakeLists.txt
├── include
│ ├── CheckError.h
│ ├── GL
│ │ ├── glcorearb.h
│ │ └── glext.h
│ ├── GL3
│ │ ├── gl3.h
│ │ └── gl3w.h
│ ├── GLFW
│ │ ├── glfw3.h
│ │ └── glfw3native.h
│ ├── LoadShaders.h
│ ├── mat.h
│ ├── Shapes
│ │ ├── Cube.h
│ │ └── Teapot.h
│ ├── vapp.h
│ ├── vbm.h
│ ├── vec.h
│ ├── vermilion.h
│ ├── vgl.h
│ ├── vmath.h
│ └── vutils.h
├── lib
│ ├── gl3w.c
│ ├── glfw
│ │ ├── CMake
│ │ │ ├── amd64-mingw32msvc.cmake
│ │ │ ├── i586-mingw32msvc.cmake
│ │ │ ├── i686-pc-mingw32.cmake
│ │ │ ├── i686-w64-mingw32.cmake
│ │ │ ├── MacOSXBundleInfo.plist.in
│ │ │ ├── modules
│ │ │ │ ├── FindEGL.cmake
│ │ │ │ ├── FindGLESv1.cmake
│ │ │ │ ├── FindGLESv2.cmake
│ │ │ │ ├── FindMir.cmake
│ │ │ │ ├── FindWayland.cmake
│ │ │ │ └── FindXKBCommon.cmake
│ │ │ └── x86_64-w64-mingw32.cmake
│ │ ├── CMakeLists.txt
│ │ ├── cmake_uninstall.cmake.in
│ │ ├── COPYING.txt
│ │ ├── deps
│ │ │ ├── EGL
│ │ │ │ └── eglext.h
│ │ │ ├── getopt.c
│ │ │ ├── getopt.h
│ │ │ ├── GL
│ │ │ │ ├── glext.h
│ │ │ │ ├── glxext.h
│ │ │ │ └── wglext.h
│ │ │ ├── glad
│ │ │ │ └── glad.h
│ │ │ ├── glad.c
│ │ │ ├── KHR
│ │ │ │ └── khrplatform.h
│ │ │ ├── linmath.h
│ │ │ ├── tinycthread.c
│ │ │ └── tinycthread.h
│ │ ├── docs
│ │ │ ├── build.dox
│ │ │ ├── CMakeLists.txt
│ │ │ ├── compat.dox
│ │ │ ├── compile.dox
│ │ │ ├── context.dox
│ │ │ ├── Doxyfile.in
│ │ │ ├── DoxygenLayout.xml
│ │ │ ├── extra.css
│ │ │ ├── extra.less
│ │ │ ├── footer.html
│ │ │ ├── header.html
│ │ │ ├── html
│ │ │ │ ├── annotated.html
│ │ │ │ ├── bc_s.png
│ │ │ │ ├── bdwn.png
│ │ │ │ ├── bug.html
│ │ │ │ ├── build_8dox.html
│ │ │ │ ├── build.html
│ │ │ │ ├── classes.html
│ │ │ │ ├── closed.png
│ │ │ │ ├── compat_8dox.html
│ │ │ │ ├── compat.html
│ │ │ │ ├── compile_8dox.html
│ │ │ │ ├── compile.html
│ │ │ │ ├── context_8dox.html
│ │ │ │ ├── context.html
│ │ │ │ ├── dir_1f77a3d08e1c0316fce488cb6c92b6b9.html
│ │ │ │ ├── dir_245a62bb4fd08af31b5a80f0986d2d96.html
│ │ │ │ ├── dir_7c13f3ba402334eef4501b19a9dd996c.html
│ │ │ │ ├── doxygen.css
│ │ │ │ ├── doxygen.png
│ │ │ │ ├── dynsections.js
│ │ │ │ ├── extra.css
│ │ │ │ ├── files.html
│ │ │ │ ├── ftv2blank.png
│ │ │ │ ├── ftv2doc.png
│ │ │ │ ├── ftv2folderclosed.png
│ │ │ │ ├── ftv2folderopen.png
│ │ │ │ ├── ftv2lastnode.png
│ │ │ │ ├── ftv2link.png
│ │ │ │ ├── ftv2mlastnode.png
│ │ │ │ ├── ftv2mnode.png
│ │ │ │ ├── ftv2node.png
│ │ │ │ ├── ftv2plastnode.png
│ │ │ │ ├── ftv2pnode.png
│ │ │ │ ├── ftv2splitbar.png
│ │ │ │ ├── ftv2vertline.png
│ │ │ │ ├── functions.html
│ │ │ │ ├── functions_vars.html
│ │ │ │ ├── glfw3_8h.html
│ │ │ │ ├── glfw3_8h_source.html
│ │ │ │ ├── glfw3native_8h.html
│ │ │ │ ├── glfw3native_8h_source.html
│ │ │ │ ├── globals_b.html
│ │ │ │ ├── globals_c.html
│ │ │ │ ├── globals_defs_b.html
│ │ │ │ ├── globals_defs_c.html
│ │ │ │ ├── globals_defs_d.html
│ │ │ │ ├── globals_defs_f.html
│ │ │ │ ├── globals_defs_g.html
│ │ │ │ ├── globals_defs_h.html
│ │ │ │ ├── globals_defs.html
│ │ │ │ ├── globals_defs_i.html
│ │ │ │ ├── globals_defs_j.html
│ │ │ │ ├── globals_defs_k.html
│ │ │ │ ├── globals_defs_l.html
│ │ │ │ ├── globals_defs_m.html
│ │ │ │ ├── globals_defs_n.html
│ │ │ │ ├── globals_defs_o.html
│ │ │ │ ├── globals_defs_p.html
│ │ │ │ ├── globals_defs_r.html
│ │ │ │ ├── globals_defs_s.html
│ │ │ │ ├── globals_defs_v.html
│ │ │ │ ├── globals_d.html
│ │ │ │ ├── globals_e.html
│ │ │ │ ├── globals_f.html
│ │ │ │ ├── globals_func.html
│ │ │ │ ├── globals_g.html
│ │ │ │ ├── globals_h.html
│ │ │ │ ├── globals.html
│ │ │ │ ├── globals_i.html
│ │ │ │ ├── globals_j.html
│ │ │ │ ├── globals_k.html
│ │ │ │ ├── globals_l.html
│ │ │ │ ├── globals_m.html
│ │ │ │ ├── globals_n.html
│ │ │ │ ├── globals_o.html
│ │ │ │ ├── globals_p.html
│ │ │ │ ├── globals_r.html
│ │ │ │ ├── globals_s.html
│ │ │ │ ├── globals_t.html
│ │ │ │ ├── globals_type.html
│ │ │ │ ├── globals_v.html
│ │ │ │ ├── globals_w.html
│ │ │ │ ├── group__buttons.html
│ │ │ │ ├── group__context.html
│ │ │ │ ├── group__errors.html
│ │ │ │ ├── group__init.html
│ │ │ │ ├── group__input.html
│ │ │ │ ├── group__joysticks.html
│ │ │ │ ├── group__keys.html
│ │ │ │ ├── group__mods.html
│ │ │ │ ├── group__monitor.html
│ │ │ │ ├── group__native.html
│ │ │ │ ├── group__shapes.html
│ │ │ │ ├── group__window.html
│ │ │ │ ├── index.html
│ │ │ │ ├── input_8dox.html
│ │ │ │ ├── input.html
│ │ │ │ ├── intro_8dox.html
│ │ │ │ ├── intro.html
│ │ │ │ ├── jquery.js
│ │ │ │ ├── main_8dox.html
│ │ │ │ ├── modules.html
│ │ │ │ ├── monitor_8dox.html
│ │ │ │ ├── monitor.html
│ │ │ │ ├── moving_8dox.html
│ │ │ │ ├── moving.html
│ │ │ │ ├── nav_f.png
│ │ │ │ ├── nav_g.png
│ │ │ │ ├── nav_h.png
│ │ │ │ ├── news_8dox.html
│ │ │ │ ├── news.html
│ │ │ │ ├── open.png
│ │ │ │ ├── pages.html
│ │ │ │ ├── quick_8dox.html
│ │ │ │ ├── quick.html
│ │ │ │ ├── rift_8dox.html
│ │ │ │ ├── rift.html
│ │ │ │ ├── search
│ │ │ │ │ ├── all_0.html
│ │ │ │ │ ├── all_0.js
│ │ │ │ │ ├── all_1.html
│ │ │ │ │ ├── all_1.js
│ │ │ │ │ ├── all_2.html
│ │ │ │ │ ├── all_2.js
│ │ │ │ │ ├── all_3.html
│ │ │ │ │ ├── all_3.js
│ │ │ │ │ ├── all_4.html
│ │ │ │ │ ├── all_4.js
│ │ │ │ │ ├── all_5.html
│ │ │ │ │ ├── all_5.js
│ │ │ │ │ ├── all_6.html
│ │ │ │ │ ├── all_6.js
│ │ │ │ │ ├── all_7.html
│ │ │ │ │ ├── all_7.js
│ │ │ │ │ ├── all_8.html
│ │ │ │ │ ├── all_8.js
│ │ │ │ │ ├── all_9.html
│ │ │ │ │ ├── all_9.js
│ │ │ │ │ ├── all_a.html
│ │ │ │ │ ├── all_a.js
│ │ │ │ │ ├── all_b.html
│ │ │ │ │ ├── all_b.js
│ │ │ │ │ ├── all_c.html
│ │ │ │ │ ├── all_c.js
│ │ │ │ │ ├── all_d.html
│ │ │ │ │ ├── all_d.js
│ │ │ │ │ ├── all_e.html
│ │ │ │ │ ├── all_e.js
│ │ │ │ │ ├── all_f.html
│ │ │ │ │ ├── all_f.js
│ │ │ │ │ ├── classes_0.html
│ │ │ │ │ ├── classes_0.js
│ │ │ │ │ ├── close.png
│ │ │ │ │ ├── defines_0.html
│ │ │ │ │ ├── defines_0.js
│ │ │ │ │ ├── files_0.html
│ │ │ │ │ ├── files_0.js
│ │ │ │ │ ├── files_1.html
│ │ │ │ │ ├── files_1.js
│ │ │ │ │ ├── files_2.html
│ │ │ │ │ ├── files_2.js
│ │ │ │ │ ├── files_3.html
│ │ │ │ │ ├── files_3.js
│ │ │ │ │ ├── files_4.html
│ │ │ │ │ ├── files_4.js
│ │ │ │ │ ├── files_5.html
│ │ │ │ │ ├── files_5.js
│ │ │ │ │ ├── files_6.html
│ │ │ │ │ ├── files_6.js
│ │ │ │ │ ├── files_7.html
│ │ │ │ │ ├── files_7.js
│ │ │ │ │ ├── files_8.html
│ │ │ │ │ ├── files_8.js
│ │ │ │ │ ├── functions_0.html
│ │ │ │ │ ├── functions_0.js
│ │ │ │ │ ├── groups_0.html
│ │ │ │ │ ├── groups_0.js
│ │ │ │ │ ├── groups_1.html
│ │ │ │ │ ├── groups_1.js
│ │ │ │ │ ├── groups_2.html
│ │ │ │ │ ├── groups_2.js
│ │ │ │ │ ├── groups_3.html
│ │ │ │ │ ├── groups_3.js
│ │ │ │ │ ├── groups_4.html
│ │ │ │ │ ├── groups_4.js
│ │ │ │ │ ├── groups_5.html
│ │ │ │ │ ├── groups_5.js
│ │ │ │ │ ├── groups_6.html
│ │ │ │ │ ├── groups_6.js
│ │ │ │ │ ├── groups_7.html
│ │ │ │ │ ├── groups_7.js
│ │ │ │ │ ├── groups_8.html
│ │ │ │ │ ├── groups_8.js
│ │ │ │ │ ├── mag_sel.png
│ │ │ │ │ ├── nomatches.html
│ │ │ │ │ ├── pages_0.html
│ │ │ │ │ ├── pages_0.js
│ │ │ │ │ ├── pages_1.html
│ │ │ │ │ ├── pages_1.js
│ │ │ │ │ ├── pages_2.html
│ │ │ │ │ ├── pages_2.js
│ │ │ │ │ ├── pages_3.html
│ │ │ │ │ ├── pages_3.js
│ │ │ │ │ ├── pages_4.html
│ │ │ │ │ ├── pages_4.js
│ │ │ │ │ ├── pages_5.html
│ │ │ │ │ ├── pages_5.js
│ │ │ │ │ ├── pages_6.html
│ │ │ │ │ ├── pages_6.js
│ │ │ │ │ ├── pages_7.html
│ │ │ │ │ ├── pages_7.js
│ │ │ │ │ ├── pages_8.html
│ │ │ │ │ ├── pages_8.js
│ │ │ │ │ ├── search.css
│ │ │ │ │ ├── search.js
│ │ │ │ │ ├── search_l.png
│ │ │ │ │ ├── search_m.png
│ │ │ │ │ ├── search_r.png
│ │ │ │ │ ├── typedefs_0.html
│ │ │ │ │ ├── typedefs_0.js
│ │ │ │ │ ├── variables_0.html
│ │ │ │ │ ├── variables_0.js
│ │ │ │ │ ├── variables_1.html
│ │ │ │ │ ├── variables_1.js
│ │ │ │ │ ├── variables_2.html
│ │ │ │ │ ├── variables_2.js
│ │ │ │ │ ├── variables_3.html
│ │ │ │ │ ├── variables_3.js
│ │ │ │ │ ├── variables_4.html
│ │ │ │ │ ├── variables_4.js
│ │ │ │ │ ├── variables_5.html
│ │ │ │ │ ├── variables_5.js
│ │ │ │ │ ├── variables_6.html
│ │ │ │ │ └── variables_6.js
│ │ │ │ ├── spaces.svg
│ │ │ │ ├── structGLFWgammaramp.html
│ │ │ │ ├── structGLFWimage.html
│ │ │ │ ├── structGLFWvidmode.html
│ │ │ │ ├── sync_off.png
│ │ │ │ ├── sync_on.png
│ │ │ │ ├── tab_a.png
│ │ │ │ ├── tab_b.png
│ │ │ │ ├── tab_h.png
│ │ │ │ ├── tabs.css
│ │ │ │ ├── tab_s.png
│ │ │ │ ├── window_8dox.html
│ │ │ │ └── window.html
│ │ │ ├── input.dox
│ │ │ ├── internal.dox
│ │ │ ├── intro.dox
│ │ │ ├── main.dox
│ │ │ ├── monitor.dox
│ │ │ ├── moving.dox
│ │ │ ├── news.dox
│ │ │ ├── quick.dox
│ │ │ ├── rift.dox
│ │ │ ├── spaces.svg
│ │ │ └── window.dox
│ │ ├── examples
│ │ │ ├── boing.c
│ │ │ ├── CMakeLists.txt
│ │ │ ├── gears.c
│ │ │ ├── heightmap.c
│ │ │ ├── particles.c
│ │ │ ├── simple.c
│ │ │ ├── splitview.c
│ │ │ └── wave.c
│ │ ├── include
│ │ │ └── GLFW
│ │ │ ├── glfw3.h
│ │ │ └── glfw3native.h
│ │ ├── README.md
│ │ ├── src
│ │ │ ├── CMakeLists.txt
│ │ │ ├── cocoa_init.m
│ │ │ ├── cocoa_monitor.m
│ │ │ ├── cocoa_platform.h
│ │ │ ├── cocoa_window.m
│ │ │ ├── context.c
│ │ │ ├── egl_context.c
│ │ │ ├── egl_context.h
│ │ │ ├── glfw3Config.cmake.in
│ │ │ ├── glfw3.pc.in
│ │ │ ├── glfw_config.h.in
│ │ │ ├── glx_context.c
│ │ │ ├── glx_context.h
│ │ │ ├── init.c
│ │ │ ├── input.c
│ │ │ ├── internal.h
│ │ │ ├── iokit_joystick.h
│ │ │ ├── iokit_joystick.m
│ │ │ ├── linux_joystick.c
│ │ │ ├── linux_joystick.h
│ │ │ ├── mach_time.c
│ │ │ ├── mir_init.c
│ │ │ ├── mir_monitor.c
│ │ │ ├── mir_platform.h
│ │ │ ├── mir_window.c
│ │ │ ├── monitor.c
│ │ │ ├── nsgl_context.h
│ │ │ ├── nsgl_context.m
│ │ │ ├── posix_time.c
│ │ │ ├── posix_time.h
│ │ │ ├── posix_tls.c
│ │ │ ├── posix_tls.h
│ │ │ ├── wgl_context.c
│ │ │ ├── wgl_context.h
│ │ │ ├── win32_init.c
│ │ │ ├── win32_monitor.c
│ │ │ ├── win32_platform.h
│ │ │ ├── win32_time.c
│ │ │ ├── win32_tls.c
│ │ │ ├── win32_tls.h
│ │ │ ├── win32_window.c
│ │ │ ├── window.c
│ │ │ ├── winmm_joystick.c
│ │ │ ├── winmm_joystick.h
│ │ │ ├── wl_init.c
│ │ │ ├── wl_monitor.c
│ │ │ ├── wl_platform.h
│ │ │ ├── wl_window.c
│ │ │ ├── x11_init.c
│ │ │ ├── x11_monitor.c
│ │ │ ├── x11_platform.h
│ │ │ ├── x11_window.c
│ │ │ ├── xkb_unicode.c
│ │ │ └── xkb_unicode.h
│ │ └── tests
│ │ ├── clipboard.c
│ │ ├── CMakeLists.txt
│ │ ├── cursor.c
│ │ ├── empty.c
│ │ ├── events.c
│ │ ├── gamma.c
│ │ ├── glfwinfo.c
│ │ ├── iconify.c
│ │ ├── joysticks.c
│ │ ├── monitors.c
│ │ ├── msaa.c
│ │ ├── reopen.c
│ │ ├── sharing.c
│ │ ├── tearing.c
│ │ ├── threads.c
│ │ ├── title.c
│ │ └── windows.c
│ ├── glfw3_d.lib
│ ├── LoadShaders.cpp
│ ├── loadtexture.cpp
│ ├── targa.cpp
│ ├── vbm.cpp
│ ├── vdds.cpp
│ ├── vermilion.cpp
│ └── vermilion_d.lib
├── README.md
├── src
│ ├── 01-keypress
│ │ └── 01-keypress.cpp
│ ├── 01-triangles
│ │ └── 01-triangles.cpp
│ ├── 03-drawcommands
│ │ └── 03-drawcommands.cpp
│ ├── 03-instancing
│ │ └── 03-instancing.cpp
│ ├── 03-instancing2
│ │ └── 03-instancing2.cpp
│ ├── 03-instancing3
│ │ └── 03-instancing3.cpp
│ ├── 03-pointsprites
│ │ └── 03-pointsprites.cpp
│ ├── 03-primitiverestart
│ │ └── 03-primitiverestart.cpp
│ ├── 03-xfb
│ │ └── 03-xfb.cpp
│ ├── 04-gouraud
│ │ └── 04-gouraud.cpp
│ ├── 04-gouraud-float
│ │ └── 04-gouraud-float.cpp
│ ├── 04-shadowmap
│ │ └── 04-shadowmap.cpp
│ ├── 06-cubemap
│ │ └── 06-cubemap.cpp
│ ├── 06-load-texture
│ │ └── 06-load-texture.cpp
│ ├── 06-mipfilters
│ │ └── 06-mipfilters.cpp
│ ├── 06-mipmap
│ │ └── 06-mipmap.cpp
│ ├── 06-multitexture
│ │ └── 06-multitexture.cpp
│ ├── 06-statictexture
│ │ └── 06-statictexture.cpp
│ ├── 06-texturewrapping
│ │ └── 06-texturewrapping.cpp
│ ├── 06-volumetexturing
│ │ └── 06-volumetexturing.cpp
│ ├── 08-lightmodels
│ │ └── 08-lightmodels.cpp
│ ├── 09-simpletess
│ │ └── 09-simpletess.cpp
│ ├── 09-teapot
│ │ └── 09-teapot.cpp
│ ├── 10-draw-xfb
│ │ └── 10-draw-xfb.cpp
│ ├── 10-fur
│ │ └── 10-fur.cpp
│ ├── 10-viewport-array
│ │ └── 10-viewport-array.cpp
│ ├── 11-doublewrite
│ │ └── 11-doublewrite.cpp
│ ├── 11-oit
│ │ └── 11-oit.cpp
│ ├── 11-overdrawcount
│ │ └── 11-overdrawcount.cpp
│ ├── 12-imageprocessing
│ │ └── 12-imageprocessing.cpp
│ ├── 12-particlesimulator
│ │ └── 12-particlesimulator.cpp
│ ├── 12-raytracer
│ │ └── 12-raytracer.cpp
│ └── 12-simplecompute
│ └── 12-simplecompute.cpp
├── tools
│ ├── obj2vbm
│ │ └── obj2vbm.cpp
│ └── vbmexport
│ └── vbmexport.cpp
└── vermilion
├── loadtexture.cpp
└── vdds.cpp
156 directories, 484 files
OpenGL环境配置全文件,与博客教程:OpenGL红宝书第九版环境配置(VS2017)相配套
【实例截图】
【核心代码】
OGLPG-9th-Edition
└── OGLPG-9th-Edition
├── glut-3.7.6-bin
│ ├── glut32.dll
│ ├── glut32.lib
│ ├── glut.def
│ ├── glut.h
│ └── README-win32.txt
├── __MACOSX
│ └── OGLPG-9th-Edition
│ ├── bin
│ │ └── media
│ │ └── shaders
│ │ ├── doublewrite
│ │ ├── gouraud
│ │ ├── keypress
│ │ ├── oit
│ │ ├── overdrawcount
│ │ ├── pointsprites
│ │ ├── primitive_restart
│ │ ├── shadowmap
│ │ ├── simpletess
│ │ ├── teapot
│ │ └── triangles
│ ├── build
│ │ └── templates
│ ├── include
│ │ ├── GL
│ │ ├── GL3
│ │ └── Shapes
│ ├── lib
│ │ └── glfw
│ │ ├── CMake
│ │ │ └── modules
│ │ ├── deps
│ │ │ ├── EGL
│ │ │ ├── GL
│ │ │ ├── glad
│ │ │ └── KHR
│ │ ├── docs
│ │ │ └── html
│ │ │ └── search
│ │ ├── examples
│ │ ├── include
│ │ │ └── GLFW
│ │ ├── src
│ │ └── tests
│ ├── src
│ │ ├── 01-keypress
│ │ ├── 01-triangles
│ │ ├── 03-drawcommands
│ │ ├── 03-instancing
│ │ ├── 03-instancing2
│ │ ├── 03-instancing3
│ │ ├── 03-pointsprites
│ │ ├── 03-primitiverestart
│ │ ├── 03-xfb
│ │ ├── 04-gouraud
│ │ ├── 04-gouraud-float
│ │ ├── 04-shadowmap
│ │ ├── 06-cubemap
│ │ ├── 06-load-texture
│ │ ├── 06-mipfilters
│ │ ├── 06-mipmap
│ │ ├── 06-multitexture
│ │ ├── 06-statictexture
│ │ ├── 06-texturewrapping
│ │ ├── 06-volumetexturing
│ │ ├── 08-lightmodels
│ │ ├── 09-simpletess
│ │ ├── 09-teapot
│ │ ├── 10-draw-xfb
│ │ ├── 10-fur
│ │ ├── 10-viewport-array
│ │ ├── 11-doublewrite
│ │ ├── 11-oit
│ │ ├── 11-overdrawcount
│ │ ├── 12-imageprocessing
│ │ ├── 12-particlesimulator
│ │ ├── 12-raytracer
│ │ └── 12-simplecompute
│ ├── tools
│ │ ├── obj2vbm
│ │ └── vbmexport
│ └── vermilion
└── OGLPG-9th-Edition
├── bin
│ └── media
│ └── shaders
│ ├── doublewrite
│ │ ├── blit.fs.glsl
│ │ ├── blit.vs.glsl
│ │ ├── double_write.fs.glsl
│ │ └── double_write.vs.glsl
│ ├── gouraud
│ │ ├── gouraud.frag
│ │ └── gouraud.vert
│ ├── keypress
│ │ ├── keypress.frag
│ │ └── keypress.vert
│ ├── oit
│ │ ├── build_lists.fs.glsl
│ │ ├── build_lists.vs.glsl
│ │ ├── resolve_lists.fs.glsl
│ │ └── resolve_lists.vs.glsl
│ ├── overdrawcount
│ │ ├── blit.fs.glsl
│ │ ├── blit.vs.glsl
│ │ ├── overdraw_count.fs.glsl
│ │ └── overdraw_count.vs.glsl
│ ├── pointsprites
│ │ ├── pointsprites2.fs.glsl
│ │ ├── pointsprites.fs.glsl
│ │ └── pointsprites.vs.glsl
│ ├── primitive_restart
│ │ ├── primitive_restart.fs.glsl
│ │ └── primitive_restart.vs.glsl
│ ├── shadowmap
│ │ ├── shadowmap_scene.fs.glsl
│ │ ├── shadowmap_scene.vs.glsl
│ │ ├── shadowmap_shadow.fs.glsl
│ │ └── shadowmap_shadow.vs.glsl
│ ├── simpletess
│ │ ├── simple.cont
│ │ ├── simple.eval
│ │ ├── simple.frag
│ │ └── simple.vert
│ ├── teapot
│ │ ├── teapot.cont
│ │ ├── teapot.eval
│ │ ├── teapot.frag
│ │ └── teapot.vert
│ └── triangles
│ ├── triangles.frag
│ └── triangles.vert
├── build
│ └── templates
│ └── vs2013.vcxproj.user.in
├── CMakeLists.txt
├── include
│ ├── CheckError.h
│ ├── GL
│ │ ├── glcorearb.h
│ │ └── glext.h
│ ├── GL3
│ │ ├── gl3.h
│ │ └── gl3w.h
│ ├── GLFW
│ │ ├── glfw3.h
│ │ └── glfw3native.h
│ ├── LoadShaders.h
│ ├── mat.h
│ ├── Shapes
│ │ ├── Cube.h
│ │ └── Teapot.h
│ ├── vapp.h
│ ├── vbm.h
│ ├── vec.h
│ ├── vermilion.h
│ ├── vgl.h
│ ├── vmath.h
│ └── vutils.h
├── lib
│ ├── gl3w.c
│ ├── glfw
│ │ ├── CMake
│ │ │ ├── amd64-mingw32msvc.cmake
│ │ │ ├── i586-mingw32msvc.cmake
│ │ │ ├── i686-pc-mingw32.cmake
│ │ │ ├── i686-w64-mingw32.cmake
│ │ │ ├── MacOSXBundleInfo.plist.in
│ │ │ ├── modules
│ │ │ │ ├── FindEGL.cmake
│ │ │ │ ├── FindGLESv1.cmake
│ │ │ │ ├── FindGLESv2.cmake
│ │ │ │ ├── FindMir.cmake
│ │ │ │ ├── FindWayland.cmake
│ │ │ │ └── FindXKBCommon.cmake
│ │ │ └── x86_64-w64-mingw32.cmake
│ │ ├── CMakeLists.txt
│ │ ├── cmake_uninstall.cmake.in
│ │ ├── COPYING.txt
│ │ ├── deps
│ │ │ ├── EGL
│ │ │ │ └── eglext.h
│ │ │ ├── getopt.c
│ │ │ ├── getopt.h
│ │ │ ├── GL
│ │ │ │ ├── glext.h
│ │ │ │ ├── glxext.h
│ │ │ │ └── wglext.h
│ │ │ ├── glad
│ │ │ │ └── glad.h
│ │ │ ├── glad.c
│ │ │ ├── KHR
│ │ │ │ └── khrplatform.h
│ │ │ ├── linmath.h
│ │ │ ├── tinycthread.c
│ │ │ └── tinycthread.h
│ │ ├── docs
│ │ │ ├── build.dox
│ │ │ ├── CMakeLists.txt
│ │ │ ├── compat.dox
│ │ │ ├── compile.dox
│ │ │ ├── context.dox
│ │ │ ├── Doxyfile.in
│ │ │ ├── DoxygenLayout.xml
│ │ │ ├── extra.css
│ │ │ ├── extra.less
│ │ │ ├── footer.html
│ │ │ ├── header.html
│ │ │ ├── html
│ │ │ │ ├── annotated.html
│ │ │ │ ├── bc_s.png
│ │ │ │ ├── bdwn.png
│ │ │ │ ├── bug.html
│ │ │ │ ├── build_8dox.html
│ │ │ │ ├── build.html
│ │ │ │ ├── classes.html
│ │ │ │ ├── closed.png
│ │ │ │ ├── compat_8dox.html
│ │ │ │ ├── compat.html
│ │ │ │ ├── compile_8dox.html
│ │ │ │ ├── compile.html
│ │ │ │ ├── context_8dox.html
│ │ │ │ ├── context.html
│ │ │ │ ├── dir_1f77a3d08e1c0316fce488cb6c92b6b9.html
│ │ │ │ ├── dir_245a62bb4fd08af31b5a80f0986d2d96.html
│ │ │ │ ├── dir_7c13f3ba402334eef4501b19a9dd996c.html
│ │ │ │ ├── doxygen.css
│ │ │ │ ├── doxygen.png
│ │ │ │ ├── dynsections.js
│ │ │ │ ├── extra.css
│ │ │ │ ├── files.html
│ │ │ │ ├── ftv2blank.png
│ │ │ │ ├── ftv2doc.png
│ │ │ │ ├── ftv2folderclosed.png
│ │ │ │ ├── ftv2folderopen.png
│ │ │ │ ├── ftv2lastnode.png
│ │ │ │ ├── ftv2link.png
│ │ │ │ ├── ftv2mlastnode.png
│ │ │ │ ├── ftv2mnode.png
│ │ │ │ ├── ftv2node.png
│ │ │ │ ├── ftv2plastnode.png
│ │ │ │ ├── ftv2pnode.png
│ │ │ │ ├── ftv2splitbar.png
│ │ │ │ ├── ftv2vertline.png
│ │ │ │ ├── functions.html
│ │ │ │ ├── functions_vars.html
│ │ │ │ ├── glfw3_8h.html
│ │ │ │ ├── glfw3_8h_source.html
│ │ │ │ ├── glfw3native_8h.html
│ │ │ │ ├── glfw3native_8h_source.html
│ │ │ │ ├── globals_b.html
│ │ │ │ ├── globals_c.html
│ │ │ │ ├── globals_defs_b.html
│ │ │ │ ├── globals_defs_c.html
│ │ │ │ ├── globals_defs_d.html
│ │ │ │ ├── globals_defs_f.html
│ │ │ │ ├── globals_defs_g.html
│ │ │ │ ├── globals_defs_h.html
│ │ │ │ ├── globals_defs.html
│ │ │ │ ├── globals_defs_i.html
│ │ │ │ ├── globals_defs_j.html
│ │ │ │ ├── globals_defs_k.html
│ │ │ │ ├── globals_defs_l.html
│ │ │ │ ├── globals_defs_m.html
│ │ │ │ ├── globals_defs_n.html
│ │ │ │ ├── globals_defs_o.html
│ │ │ │ ├── globals_defs_p.html
│ │ │ │ ├── globals_defs_r.html
│ │ │ │ ├── globals_defs_s.html
│ │ │ │ ├── globals_defs_v.html
│ │ │ │ ├── globals_d.html
│ │ │ │ ├── globals_e.html
│ │ │ │ ├── globals_f.html
│ │ │ │ ├── globals_func.html
│ │ │ │ ├── globals_g.html
│ │ │ │ ├── globals_h.html
│ │ │ │ ├── globals.html
│ │ │ │ ├── globals_i.html
│ │ │ │ ├── globals_j.html
│ │ │ │ ├── globals_k.html
│ │ │ │ ├── globals_l.html
│ │ │ │ ├── globals_m.html
│ │ │ │ ├── globals_n.html
│ │ │ │ ├── globals_o.html
│ │ │ │ ├── globals_p.html
│ │ │ │ ├── globals_r.html
│ │ │ │ ├── globals_s.html
│ │ │ │ ├── globals_t.html
│ │ │ │ ├── globals_type.html
│ │ │ │ ├── globals_v.html
│ │ │ │ ├── globals_w.html
│ │ │ │ ├── group__buttons.html
│ │ │ │ ├── group__context.html
│ │ │ │ ├── group__errors.html
│ │ │ │ ├── group__init.html
│ │ │ │ ├── group__input.html
│ │ │ │ ├── group__joysticks.html
│ │ │ │ ├── group__keys.html
│ │ │ │ ├── group__mods.html
│ │ │ │ ├── group__monitor.html
│ │ │ │ ├── group__native.html
│ │ │ │ ├── group__shapes.html
│ │ │ │ ├── group__window.html
│ │ │ │ ├── index.html
│ │ │ │ ├── input_8dox.html
│ │ │ │ ├── input.html
│ │ │ │ ├── intro_8dox.html
│ │ │ │ ├── intro.html
│ │ │ │ ├── jquery.js
│ │ │ │ ├── main_8dox.html
│ │ │ │ ├── modules.html
│ │ │ │ ├── monitor_8dox.html
│ │ │ │ ├── monitor.html
│ │ │ │ ├── moving_8dox.html
│ │ │ │ ├── moving.html
│ │ │ │ ├── nav_f.png
│ │ │ │ ├── nav_g.png
│ │ │ │ ├── nav_h.png
│ │ │ │ ├── news_8dox.html
│ │ │ │ ├── news.html
│ │ │ │ ├── open.png
│ │ │ │ ├── pages.html
│ │ │ │ ├── quick_8dox.html
│ │ │ │ ├── quick.html
│ │ │ │ ├── rift_8dox.html
│ │ │ │ ├── rift.html
│ │ │ │ ├── search
│ │ │ │ │ ├── all_0.html
│ │ │ │ │ ├── all_0.js
│ │ │ │ │ ├── all_1.html
│ │ │ │ │ ├── all_1.js
│ │ │ │ │ ├── all_2.html
│ │ │ │ │ ├── all_2.js
│ │ │ │ │ ├── all_3.html
│ │ │ │ │ ├── all_3.js
│ │ │ │ │ ├── all_4.html
│ │ │ │ │ ├── all_4.js
│ │ │ │ │ ├── all_5.html
│ │ │ │ │ ├── all_5.js
│ │ │ │ │ ├── all_6.html
│ │ │ │ │ ├── all_6.js
│ │ │ │ │ ├── all_7.html
│ │ │ │ │ ├── all_7.js
│ │ │ │ │ ├── all_8.html
│ │ │ │ │ ├── all_8.js
│ │ │ │ │ ├── all_9.html
│ │ │ │ │ ├── all_9.js
│ │ │ │ │ ├── all_a.html
│ │ │ │ │ ├── all_a.js
│ │ │ │ │ ├── all_b.html
│ │ │ │ │ ├── all_b.js
│ │ │ │ │ ├── all_c.html
│ │ │ │ │ ├── all_c.js
│ │ │ │ │ ├── all_d.html
│ │ │ │ │ ├── all_d.js
│ │ │ │ │ ├── all_e.html
│ │ │ │ │ ├── all_e.js
│ │ │ │ │ ├── all_f.html
│ │ │ │ │ ├── all_f.js
│ │ │ │ │ ├── classes_0.html
│ │ │ │ │ ├── classes_0.js
│ │ │ │ │ ├── close.png
│ │ │ │ │ ├── defines_0.html
│ │ │ │ │ ├── defines_0.js
│ │ │ │ │ ├── files_0.html
│ │ │ │ │ ├── files_0.js
│ │ │ │ │ ├── files_1.html
│ │ │ │ │ ├── files_1.js
│ │ │ │ │ ├── files_2.html
│ │ │ │ │ ├── files_2.js
│ │ │ │ │ ├── files_3.html
│ │ │ │ │ ├── files_3.js
│ │ │ │ │ ├── files_4.html
│ │ │ │ │ ├── files_4.js
│ │ │ │ │ ├── files_5.html
│ │ │ │ │ ├── files_5.js
│ │ │ │ │ ├── files_6.html
│ │ │ │ │ ├── files_6.js
│ │ │ │ │ ├── files_7.html
│ │ │ │ │ ├── files_7.js
│ │ │ │ │ ├── files_8.html
│ │ │ │ │ ├── files_8.js
│ │ │ │ │ ├── functions_0.html
│ │ │ │ │ ├── functions_0.js
│ │ │ │ │ ├── groups_0.html
│ │ │ │ │ ├── groups_0.js
│ │ │ │ │ ├── groups_1.html
│ │ │ │ │ ├── groups_1.js
│ │ │ │ │ ├── groups_2.html
│ │ │ │ │ ├── groups_2.js
│ │ │ │ │ ├── groups_3.html
│ │ │ │ │ ├── groups_3.js
│ │ │ │ │ ├── groups_4.html
│ │ │ │ │ ├── groups_4.js
│ │ │ │ │ ├── groups_5.html
│ │ │ │ │ ├── groups_5.js
│ │ │ │ │ ├── groups_6.html
│ │ │ │ │ ├── groups_6.js
│ │ │ │ │ ├── groups_7.html
│ │ │ │ │ ├── groups_7.js
│ │ │ │ │ ├── groups_8.html
│ │ │ │ │ ├── groups_8.js
│ │ │ │ │ ├── mag_sel.png
│ │ │ │ │ ├── nomatches.html
│ │ │ │ │ ├── pages_0.html
│ │ │ │ │ ├── pages_0.js
│ │ │ │ │ ├── pages_1.html
│ │ │ │ │ ├── pages_1.js
│ │ │ │ │ ├── pages_2.html
│ │ │ │ │ ├── pages_2.js
│ │ │ │ │ ├── pages_3.html
│ │ │ │ │ ├── pages_3.js
│ │ │ │ │ ├── pages_4.html
│ │ │ │ │ ├── pages_4.js
│ │ │ │ │ ├── pages_5.html
│ │ │ │ │ ├── pages_5.js
│ │ │ │ │ ├── pages_6.html
│ │ │ │ │ ├── pages_6.js
│ │ │ │ │ ├── pages_7.html
│ │ │ │ │ ├── pages_7.js
│ │ │ │ │ ├── pages_8.html
│ │ │ │ │ ├── pages_8.js
│ │ │ │ │ ├── search.css
│ │ │ │ │ ├── search.js
│ │ │ │ │ ├── search_l.png
│ │ │ │ │ ├── search_m.png
│ │ │ │ │ ├── search_r.png
│ │ │ │ │ ├── typedefs_0.html
│ │ │ │ │ ├── typedefs_0.js
│ │ │ │ │ ├── variables_0.html
│ │ │ │ │ ├── variables_0.js
│ │ │ │ │ ├── variables_1.html
│ │ │ │ │ ├── variables_1.js
│ │ │ │ │ ├── variables_2.html
│ │ │ │ │ ├── variables_2.js
│ │ │ │ │ ├── variables_3.html
│ │ │ │ │ ├── variables_3.js
│ │ │ │ │ ├── variables_4.html
│ │ │ │ │ ├── variables_4.js
│ │ │ │ │ ├── variables_5.html
│ │ │ │ │ ├── variables_5.js
│ │ │ │ │ ├── variables_6.html
│ │ │ │ │ └── variables_6.js
│ │ │ │ ├── spaces.svg
│ │ │ │ ├── structGLFWgammaramp.html
│ │ │ │ ├── structGLFWimage.html
│ │ │ │ ├── structGLFWvidmode.html
│ │ │ │ ├── sync_off.png
│ │ │ │ ├── sync_on.png
│ │ │ │ ├── tab_a.png
│ │ │ │ ├── tab_b.png
│ │ │ │ ├── tab_h.png
│ │ │ │ ├── tabs.css
│ │ │ │ ├── tab_s.png
│ │ │ │ ├── window_8dox.html
│ │ │ │ └── window.html
│ │ │ ├── input.dox
│ │ │ ├── internal.dox
│ │ │ ├── intro.dox
│ │ │ ├── main.dox
│ │ │ ├── monitor.dox
│ │ │ ├── moving.dox
│ │ │ ├── news.dox
│ │ │ ├── quick.dox
│ │ │ ├── rift.dox
│ │ │ ├── spaces.svg
│ │ │ └── window.dox
│ │ ├── examples
│ │ │ ├── boing.c
│ │ │ ├── CMakeLists.txt
│ │ │ ├── gears.c
│ │ │ ├── heightmap.c
│ │ │ ├── particles.c
│ │ │ ├── simple.c
│ │ │ ├── splitview.c
│ │ │ └── wave.c
│ │ ├── include
│ │ │ └── GLFW
│ │ │ ├── glfw3.h
│ │ │ └── glfw3native.h
│ │ ├── README.md
│ │ ├── src
│ │ │ ├── CMakeLists.txt
│ │ │ ├── cocoa_init.m
│ │ │ ├── cocoa_monitor.m
│ │ │ ├── cocoa_platform.h
│ │ │ ├── cocoa_window.m
│ │ │ ├── context.c
│ │ │ ├── egl_context.c
│ │ │ ├── egl_context.h
│ │ │ ├── glfw3Config.cmake.in
│ │ │ ├── glfw3.pc.in
│ │ │ ├── glfw_config.h.in
│ │ │ ├── glx_context.c
│ │ │ ├── glx_context.h
│ │ │ ├── init.c
│ │ │ ├── input.c
│ │ │ ├── internal.h
│ │ │ ├── iokit_joystick.h
│ │ │ ├── iokit_joystick.m
│ │ │ ├── linux_joystick.c
│ │ │ ├── linux_joystick.h
│ │ │ ├── mach_time.c
│ │ │ ├── mir_init.c
│ │ │ ├── mir_monitor.c
│ │ │ ├── mir_platform.h
│ │ │ ├── mir_window.c
│ │ │ ├── monitor.c
│ │ │ ├── nsgl_context.h
│ │ │ ├── nsgl_context.m
│ │ │ ├── posix_time.c
│ │ │ ├── posix_time.h
│ │ │ ├── posix_tls.c
│ │ │ ├── posix_tls.h
│ │ │ ├── wgl_context.c
│ │ │ ├── wgl_context.h
│ │ │ ├── win32_init.c
│ │ │ ├── win32_monitor.c
│ │ │ ├── win32_platform.h
│ │ │ ├── win32_time.c
│ │ │ ├── win32_tls.c
│ │ │ ├── win32_tls.h
│ │ │ ├── win32_window.c
│ │ │ ├── window.c
│ │ │ ├── winmm_joystick.c
│ │ │ ├── winmm_joystick.h
│ │ │ ├── wl_init.c
│ │ │ ├── wl_monitor.c
│ │ │ ├── wl_platform.h
│ │ │ ├── wl_window.c
│ │ │ ├── x11_init.c
│ │ │ ├── x11_monitor.c
│ │ │ ├── x11_platform.h
│ │ │ ├── x11_window.c
│ │ │ ├── xkb_unicode.c
│ │ │ └── xkb_unicode.h
│ │ └── tests
│ │ ├── clipboard.c
│ │ ├── CMakeLists.txt
│ │ ├── cursor.c
│ │ ├── empty.c
│ │ ├── events.c
│ │ ├── gamma.c
│ │ ├── glfwinfo.c
│ │ ├── iconify.c
│ │ ├── joysticks.c
│ │ ├── monitors.c
│ │ ├── msaa.c
│ │ ├── reopen.c
│ │ ├── sharing.c
│ │ ├── tearing.c
│ │ ├── threads.c
│ │ ├── title.c
│ │ └── windows.c
│ ├── glfw3_d.lib
│ ├── LoadShaders.cpp
│ ├── loadtexture.cpp
│ ├── targa.cpp
│ ├── vbm.cpp
│ ├── vdds.cpp
│ ├── vermilion.cpp
│ └── vermilion_d.lib
├── README.md
├── src
│ ├── 01-keypress
│ │ └── 01-keypress.cpp
│ ├── 01-triangles
│ │ └── 01-triangles.cpp
│ ├── 03-drawcommands
│ │ └── 03-drawcommands.cpp
│ ├── 03-instancing
│ │ └── 03-instancing.cpp
│ ├── 03-instancing2
│ │ └── 03-instancing2.cpp
│ ├── 03-instancing3
│ │ └── 03-instancing3.cpp
│ ├── 03-pointsprites
│ │ └── 03-pointsprites.cpp
│ ├── 03-primitiverestart
│ │ └── 03-primitiverestart.cpp
│ ├── 03-xfb
│ │ └── 03-xfb.cpp
│ ├── 04-gouraud
│ │ └── 04-gouraud.cpp
│ ├── 04-gouraud-float
│ │ └── 04-gouraud-float.cpp
│ ├── 04-shadowmap
│ │ └── 04-shadowmap.cpp
│ ├── 06-cubemap
│ │ └── 06-cubemap.cpp
│ ├── 06-load-texture
│ │ └── 06-load-texture.cpp
│ ├── 06-mipfilters
│ │ └── 06-mipfilters.cpp
│ ├── 06-mipmap
│ │ └── 06-mipmap.cpp
│ ├── 06-multitexture
│ │ └── 06-multitexture.cpp
│ ├── 06-statictexture
│ │ └── 06-statictexture.cpp
│ ├── 06-texturewrapping
│ │ └── 06-texturewrapping.cpp
│ ├── 06-volumetexturing
│ │ └── 06-volumetexturing.cpp
│ ├── 08-lightmodels
│ │ └── 08-lightmodels.cpp
│ ├── 09-simpletess
│ │ └── 09-simpletess.cpp
│ ├── 09-teapot
│ │ └── 09-teapot.cpp
│ ├── 10-draw-xfb
│ │ └── 10-draw-xfb.cpp
│ ├── 10-fur
│ │ └── 10-fur.cpp
│ ├── 10-viewport-array
│ │ └── 10-viewport-array.cpp
│ ├── 11-doublewrite
│ │ └── 11-doublewrite.cpp
│ ├── 11-oit
│ │ └── 11-oit.cpp
│ ├── 11-overdrawcount
│ │ └── 11-overdrawcount.cpp
│ ├── 12-imageprocessing
│ │ └── 12-imageprocessing.cpp
│ ├── 12-particlesimulator
│ │ └── 12-particlesimulator.cpp
│ ├── 12-raytracer
│ │ └── 12-raytracer.cpp
│ └── 12-simplecompute
│ └── 12-simplecompute.cpp
├── tools
│ ├── obj2vbm
│ │ └── obj2vbm.cpp
│ └── vbmexport
│ └── vbmexport.cpp
└── vermilion
├── loadtexture.cpp
└── vdds.cpp
156 directories, 484 files
标签:
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论