Introduction - If you have any usage issues, please Google them yourself
use c language, Based on OpenGL. VC6.0 to compile the source vertex exaggerated basis, for the netizens to learn reference. (A total of 11 independent translation of proceedings)
Packet : 9927401opengl_basic_runtime.rar filelist
OpenGL_Basic_Runtime\01_vertex_program\01_vertex_program.dsw
OpenGL_Basic_Runtime\01_vertex_program\01_vertex_program.ncb
OpenGL_Basic_Runtime\01_vertex_program\Debug
OpenGL_Basic_Runtime\01_vertex_program\01_vertex_program.plg
OpenGL_Basic_Runtime\01_vertex_program\01_vertex_program.c
OpenGL_Basic_Runtime\01_vertex_program\01_vertex_program.dsp
OpenGL_Basic_Runtime\01_vertex_program\01_vertex_program.exe
OpenGL_Basic_Runtime\01_vertex_program\01_vertex_program.vcproj
OpenGL_Basic_Runtime\01_vertex_program\C2E1v_green.cg
OpenGL_Basic_Runtime\01_vertex_program\cgGL.dll
OpenGL_Basic_Runtime\01_vertex_program\cg.dll
OpenGL_Basic_Runtime\01_vertex_program\01_vertex_program.opt
OpenGL_Basic_Runtime\01_vertex_program
OpenGL_Basic_Runtime\02_vertex_and_fragment_program\02_vertex_and_fragment_program.dsw
OpenGL_Basic_Runtime\02_vertex_and_fragment_program\02_vertex_and_fragment_program.ncb
OpenGL_Basic_Runtime\02_vertex_and_fragment_program\Debug
OpenGL_Basic_Runtime\02_vertex_and_fragment_program\02_vertex_and_fragment_program.plg
OpenGL_Basic_Runtime\02_vertex_and_fragment_program\02_vertex_and_fragment_program.opt
OpenGL_Basic_Runtime\02_vertex_and_fragment_program\02_vertex_and_fragment_program.c
OpenGL_Basic_Runtime\02_vertex_and_fragment_program\02_vertex_and_fragment_program.dsp
OpenGL_Basic_Runtime\02_vertex_and_fragment_program\02_vertex_and_fragment_program.exe
OpenGL_Basic_Runtime\02_vertex_and_fragment_program\02_vertex_and_fragment_program.vcproj
OpenGL_Basic_Runtime\02_vertex_and_fragment_program\C2E1v_green.cg
OpenGL_Basic_Runtime\02_vertex_and_fragment_program\C2E2f_passthru.cg
OpenGL_Basic_Runtime\02_vertex_and_fragment_program
OpenGL_Basic_Runtime\03_uniform_parameter\03_uniform_parameter.dsw
OpenGL_Basic_Runtime\03_uniform_parameter\03_uniform_parameter.ncb
OpenGL_Basic_Runtime\03_uniform_parameter\Debug
OpenGL_Basic_Runtime\03_uniform_parameter\03_uniform_parameter.plg
OpenGL_Basic_Runtime\03_uniform_parameter\03_uniform_parameter.opt
OpenGL_Basic_Runtime\03_uniform_parameter\03_uniform_parameter.c
OpenGL_Basic_Runtime\03_uniform_parameter\03_uniform_parameter.dsp
OpenGL_Basic_Runtime\03_uniform_parameter\03_uniform_parameter.exe
OpenGL_Basic_Runtime\03_uniform_parameter\03_uniform_parameter.vcproj
OpenGL_Basic_Runtime\03_uniform_parameter\C2E2f_passthru.cg
OpenGL_Basic_Runtime\03_uniform_parameter\C3E1v_anycolor.cg
OpenGL_Basic_Runtime\03_uniform_parameter
OpenGL_Basic_Runtime\04_varying_parameter\04_varying_parameter.dsw
OpenGL_Basic_Runtime\04_varying_parameter\04_varying_parameter.ncb
OpenGL_Basic_Runtime\04_varying_parameter\Debug
OpenGL_Basic_Runtime\04_varying_parameter\04_varying_parameter.plg
OpenGL_Basic_Runtime\04_varying_parameter\04_varying_parameter.opt
OpenGL_Basic_Runtime\04_varying_parameter\04_varying_parameter.c
OpenGL_Basic_Runtime\04_varying_parameter\04_varying_parameter.dsp
OpenGL_Basic_Runtime\04_varying_parameter\04_varying_parameter.exe
OpenGL_Basic_Runtime\04_varying_parameter\04_varying_parameter.vcproj
OpenGL_Basic_Runtime\04_varying_parameter\C2E2f_passthru.cg
OpenGL_Basic_Runtime\04_varying_parameter\C3E2v_varying.cg
OpenGL_Basic_Runtime\04_varying_parameter
OpenGL_Basic_Runtime\05_texture_sampling\05_texture_sampling.dsw
OpenGL_Basic_Runtime\05_texture_sampling\05_texture_sampling.ncb
OpenGL_Basic_Runtime\05_texture_sampling\Debug
OpenGL_Basic_Runtime\05_texture_sampling\05_texture_sampling.plg
OpenGL_Basic_Runtime\05_texture_sampling\05_texture_sampling.opt
OpenGL_Basic_Runtime\05_texture_sampling\05_texture_sampling.c
OpenGL_Basic_Runtime\05_texture_sampling\05_texture_sampling.dsp
OpenGL_Basic_Runtime\05_texture_sampling\05_texture_sampling.exe
OpenGL_Basic_Runtime\05_texture_sampling\05_texture_sampling.vcproj
OpenGL_Basic_Runtime\05_texture_sampling\C3E2v_varying.cg
OpenGL_Basic_Runtime\05_texture_sampling\C3E3f_texture.cg
OpenGL_Basic_Runtime\05_texture_sampling\demon_image.h
OpenGL_Basic_Runtime\05_texture_sampling
OpenGL_Basic_Runtime\06_vertex_twisting\06_vertex_twisting.dsw
OpenGL_Basic_Runtime\06_vertex_twisting\06_vertex_twisting.ncb
OpenGL_Basic_Runtime\06_vertex_twisting\Debug
OpenGL_Basic_Runtime\06_vertex_twisting\06_vertex_twisting.plg
OpenGL_Basic_Runtime\06_vertex_twisting\06_vertex_twisting.opt
OpenGL_Basic_Runtime\06_vertex_twisting\06_vertex_twisting.c
OpenGL_Basic_Runtime\06_vertex_twisting\06_vertex_twisting.dsp
OpenGL_Basic_Runtime\06_vertex_twisting\06_vertex_twisting.exe
OpenGL_Basic_Runtime\06_vertex_twisting\06_vertex_twisting.vcproj
OpenGL_Basic_Runtime\06_vertex_twisting\C2E2f_passthru.cg
OpenGL_Basic_Runtime\06_vertex_twisting\C3E4v_twist.cg
OpenGL_Basic_Runtime\06_vertex_twisting
OpenGL_Basic_Runtime\07_two_texture_accesses\07_two_texture_accesses.dsw
OpenGL_Basic_Runtime\07_two_texture_accesses\07_two_texture_accesses.ncb
OpenGL_Basic_Runtime\07_two_texture_accesses\Debug
OpenGL_Basic_Runtime\07_two_texture_accesses\07_two_texture_accesses.plg
OpenGL_Basic_Runtime\07_two_texture_accesses\07_two_texture_accesses.opt
OpenGL_Basic_Runtime\07_two_texture_accesses\07_two_texture_accesses.c
OpenGL_Basic_Runtime\07_two_texture_accesses\07_two_texture_accesses.dsp
OpenGL_Basic_Runtime\07_two_texture_accesses\07_two_texture_accesses.exe
OpenGL_Basic_Runtime\07_two_texture_accesses\07_two_texture_accesses.vcproj
OpenGL_Basic_Runtime\07_two_texture_accesses\C3E5v_twoTextures.cg
OpenGL_Basic_Runtime\07_two_texture_accesses\C3E6f_twoTextures.cg
OpenGL_Basic_Runtime\07_two_texture_accesses\demon_image.h
OpenGL_Basic_Runtime\07_two_texture_accesses
OpenGL_Basic_Runtime\08_vertex_transform\08_vertex_transform.dsw
OpenGL_Basic_Runtime\08_vertex_transform\08_vertex_transform.ncb
OpenGL_Basic_Runtime\08_vertex_transform\Debug
OpenGL_Basic_Runtime\08_vertex_transform\08_vertex_transform.plg
OpenGL_Basic_Runtime\08_vertex_transform\08_vertex_transform.opt
OpenGL_Basic_Runtime\08_vertex_transform\08_vertex_transform.c
OpenGL_Basic_Runtime\08_vertex_transform\08_vertex_transform.dsp
OpenGL_Basic_Runtime\08_vertex_transform\08_vertex_transform.exe
OpenGL_Basic_Runtime\08_vertex_transform\08_vertex_transform.vcproj
OpenGL_Basic_Runtime\08_vertex_transform\C4E1v_transform.cg
OpenGL_Basic_Runtime\08_vertex_transform
OpenGL_Basic_Runtime\09_vertex_lighting\09_vertex_lighting.dsw
OpenGL_Basic_Runtime\09_vertex_lighting\09_vertex_lighting.ncb
OpenGL_Basic_Runtime\09_vertex_lighting\Debug
OpenGL_Basic_Runtime\09_vertex_lighting\09_vertex_lighting.plg
OpenGL_Basic_Runtime\09_vertex_lighting\09_vertex_lighting.c
OpenGL_Basic_Runtime\09_vertex_lighting\09_vertex_lighting.dsp
OpenGL_Basic_Runtime\09_vertex_lighting\09_vertex_lighting.exe
OpenGL_Basic_Runtime\09_vertex_lighting\09_vertex_lighting.vcproj
OpenGL_Basic_Runtime\09_vertex_lighting\C5E1v_basicLight.cg
OpenGL_Basic_Runtime\09_vertex_lighting\09_vertex_lighting.opt
OpenGL_Basic_Runtime\09_vertex_lighting
OpenGL_Basic_Runtime\10_fragment_lighting\10_fragment_lighting.dsw
OpenGL_Basic_Runtime\10_fragment_lighting\10_fragment_lighting.ncb
OpenGL_Basic_Runtime\10_fragment_lighting\Debug
OpenGL_Basic_Runtime\10_fragment_lighting\10_fragment_lighting.plg
OpenGL_Basic_Runtime\10_fragment_lighting\10_fragment_lighting.dsp
OpenGL_Basic_Runtime\10_fragment_lighting\10_fragment_lighting.exe
OpenGL_Basic_Runtime\10_fragment_lighting\10_fragment_lighting.vcproj
OpenGL_Basic_Runtime\10_fragment_lighting\C5E2v_fragmentLighting.cg
OpenGL_Basic_Runtime\10_fragment_lighting\C5E3f_basicLight.cg
OpenGL_Basic_Runtime\10_fragment_lighting\10_fragment_lighting.c
OpenGL_Basic_Runtime\10_fragment_lighting\10_fragment_lighting.opt
OpenGL_Basic_Runtime\10_fragment_lighting
OpenGL_Basic_Runtime\11_two_lights_with_structs\11_two_lights_with_structs.dsw
OpenGL_Basic_Runtime\11_two_lights_with_structs\11_two_lights_with_structs.ncb
OpenGL_Basic_Runtime\11_two_lights_with_structs\Debug
OpenGL_Basic_Runtime\11_two_lights_with_structs\11_two_lights_with_structs.plg
OpenGL_Basic_Runtime\11_two_lights_with_structs\11_two_lights_with_structs.opt
OpenGL_Basic_Runtime\11_two_lights_with_structs\11_two_lights_with_structs.c
OpenGL_Basic_Runtime\11_two_lights_with_structs\11_two_lights_with_structs.dsp
OpenGL_Basic_Runtime\11_two_lights_with_structs\11_two_lights_with_structs.exe
OpenGL_Basic_Runtime\11_two_lights_with_structs\11_two_lights_with_structs.vcproj
OpenGL_Basic_Runtime\11_two_lights_with_structs\C5E4v_twoLights.cg
OpenGL_Basic_Runtime\11_two_lights_with_structs
OpenGL_Basic_Runtime\desktop.ini
OpenGL_Basic_Runtime