├── .github └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ├── 3rdparty ├── FbxCommon.py ├── fbx.pyd └── fbxsip.pyd ├── README.md ├── cn_readme.md ├── doc ├── screenshots │ ├── tu00.png │ ├── tu01.png │ ├── tu02.png │ ├── tu03.png │ ├── tu04.png │ ├── tu05.png │ ├── tu06.png │ ├── tu07.png │ ├── tu08.png │ ├── tu09.png │ └── tu10.png └── tu_00_glfw_window.mds ├── glsl ├── tu01 │ ├── fragment.glsl │ └── vertex.glsl ├── tu02 │ ├── fragment.glsl │ └── vertex.glsl ├── tu04 │ ├── fragment.glsl │ └── vertex.glsl ├── tu07 │ ├── StandardShading.fragmentshader.glsl │ └── StandardShading.vertexshader.glsl ├── tu08 │ ├── StandardShading.vertexshader.glsl │ └── StandardTransparentShading.fragmentshader.glsl ├── tu09 │ ├── TextVertexShader.fragmentshader.glsl │ └── TextVertexShader.vertexshader.glsl ├── tu10 │ ├── NormalMapping.fragmentshader.glsl │ └── NormalMapping.vertexshader.glsl └── utils │ ├── uv2d │ ├── fragment.glsl │ └── vertex.glsl │ └── worldsheet │ ├── fragment.glsl │ └── vertex.glsl ├── requirements.txt ├── resources ├── Handgun_fbx_7_4_binary.fbx ├── tu02 │ ├── uvtemplate.DDS │ └── uvtemplate.tga ├── tu03 │ ├── cube.obj │ └── uvmap.DDS ├── tu04 │ ├── suzanne.mtl │ ├── suzanne.obj │ └── uvmap.DDS ├── tu05 │ ├── AK-47_01_D_Fix.png │ └── AK-47_01_D_Fix.tga ├── tu09 │ └── Holstein.DDS └── tu10 │ ├── cylinder.mtl │ ├── cylinder.obj │ ├── diffuse.DDS │ ├── normal.bmp │ └── specular.DDS ├── tu_00_glfw_window_sample.py ├── tu_01_color_cube.py ├── tu_02_texture_without_normal.py ├── tu_03_loadobj.py ├── tu_04_1_ue4model.py ├── tu_04_vbo.py ├── tu_05_input.py ├── tu_06_multobjs.py ├── tu_07_basic_shading.py ├── tu_08_transparency.py ├── tu_09_draw_text.py ├── tu_10_normal_mapping.py └── utils ├── MVPControl.py ├── __init__.py ├── glutWindow.py ├── meshViewer.py ├── objLoader.py ├── shaderLoader.py ├── textureLoader.py ├── uv2d.py └── worldsheet.py /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.vscode 2 | *.pyc 3 | /ue4reader 4 | -------------------------------------------------------------------------------- /3rdparty/FbxCommon.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/3rdparty/FbxCommon.py -------------------------------------------------------------------------------- /3rdparty/fbx.pyd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/3rdparty/fbx.pyd -------------------------------------------------------------------------------- /3rdparty/fbxsip.pyd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/3rdparty/fbxsip.pyd -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/README.md -------------------------------------------------------------------------------- /cn_readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/cn_readme.md -------------------------------------------------------------------------------- /doc/screenshots/tu00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/doc/screenshots/tu00.png -------------------------------------------------------------------------------- /doc/screenshots/tu01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/doc/screenshots/tu01.png -------------------------------------------------------------------------------- /doc/screenshots/tu02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/doc/screenshots/tu02.png -------------------------------------------------------------------------------- /doc/screenshots/tu03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/doc/screenshots/tu03.png -------------------------------------------------------------------------------- /doc/screenshots/tu04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/doc/screenshots/tu04.png -------------------------------------------------------------------------------- /doc/screenshots/tu05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/doc/screenshots/tu05.png -------------------------------------------------------------------------------- /doc/screenshots/tu06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/doc/screenshots/tu06.png -------------------------------------------------------------------------------- /doc/screenshots/tu07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/doc/screenshots/tu07.png -------------------------------------------------------------------------------- /doc/screenshots/tu08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/doc/screenshots/tu08.png -------------------------------------------------------------------------------- /doc/screenshots/tu09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/doc/screenshots/tu09.png -------------------------------------------------------------------------------- /doc/screenshots/tu10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/doc/screenshots/tu10.png -------------------------------------------------------------------------------- /doc/tu_00_glfw_window.mds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/doc/tu_00_glfw_window.mds -------------------------------------------------------------------------------- /glsl/tu01/fragment.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/glsl/tu01/fragment.glsl -------------------------------------------------------------------------------- /glsl/tu01/vertex.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/glsl/tu01/vertex.glsl -------------------------------------------------------------------------------- /glsl/tu02/fragment.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/glsl/tu02/fragment.glsl -------------------------------------------------------------------------------- /glsl/tu02/vertex.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/glsl/tu02/vertex.glsl -------------------------------------------------------------------------------- /glsl/tu04/fragment.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/glsl/tu04/fragment.glsl -------------------------------------------------------------------------------- /glsl/tu04/vertex.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/glsl/tu04/vertex.glsl -------------------------------------------------------------------------------- /glsl/tu07/StandardShading.fragmentshader.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/glsl/tu07/StandardShading.fragmentshader.glsl -------------------------------------------------------------------------------- /glsl/tu07/StandardShading.vertexshader.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/glsl/tu07/StandardShading.vertexshader.glsl -------------------------------------------------------------------------------- /glsl/tu08/StandardShading.vertexshader.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/glsl/tu08/StandardShading.vertexshader.glsl -------------------------------------------------------------------------------- /glsl/tu08/StandardTransparentShading.fragmentshader.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/glsl/tu08/StandardTransparentShading.fragmentshader.glsl -------------------------------------------------------------------------------- /glsl/tu09/TextVertexShader.fragmentshader.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/glsl/tu09/TextVertexShader.fragmentshader.glsl -------------------------------------------------------------------------------- /glsl/tu09/TextVertexShader.vertexshader.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/glsl/tu09/TextVertexShader.vertexshader.glsl -------------------------------------------------------------------------------- /glsl/tu10/NormalMapping.fragmentshader.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/glsl/tu10/NormalMapping.fragmentshader.glsl -------------------------------------------------------------------------------- /glsl/tu10/NormalMapping.vertexshader.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/glsl/tu10/NormalMapping.vertexshader.glsl -------------------------------------------------------------------------------- /glsl/utils/uv2d/fragment.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/glsl/utils/uv2d/fragment.glsl -------------------------------------------------------------------------------- /glsl/utils/uv2d/vertex.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/glsl/utils/uv2d/vertex.glsl -------------------------------------------------------------------------------- /glsl/utils/worldsheet/fragment.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/glsl/utils/worldsheet/fragment.glsl -------------------------------------------------------------------------------- /glsl/utils/worldsheet/vertex.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/glsl/utils/worldsheet/vertex.glsl -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/requirements.txt -------------------------------------------------------------------------------- /resources/Handgun_fbx_7_4_binary.fbx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/resources/Handgun_fbx_7_4_binary.fbx -------------------------------------------------------------------------------- /resources/tu02/uvtemplate.DDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/resources/tu02/uvtemplate.DDS -------------------------------------------------------------------------------- /resources/tu02/uvtemplate.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/resources/tu02/uvtemplate.tga -------------------------------------------------------------------------------- /resources/tu03/cube.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/resources/tu03/cube.obj -------------------------------------------------------------------------------- /resources/tu03/uvmap.DDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/resources/tu03/uvmap.DDS -------------------------------------------------------------------------------- /resources/tu04/suzanne.mtl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/resources/tu04/suzanne.mtl -------------------------------------------------------------------------------- /resources/tu04/suzanne.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/resources/tu04/suzanne.obj -------------------------------------------------------------------------------- /resources/tu04/uvmap.DDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/resources/tu04/uvmap.DDS -------------------------------------------------------------------------------- /resources/tu05/AK-47_01_D_Fix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/resources/tu05/AK-47_01_D_Fix.png -------------------------------------------------------------------------------- /resources/tu05/AK-47_01_D_Fix.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/resources/tu05/AK-47_01_D_Fix.tga -------------------------------------------------------------------------------- /resources/tu09/Holstein.DDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/resources/tu09/Holstein.DDS -------------------------------------------------------------------------------- /resources/tu10/cylinder.mtl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/resources/tu10/cylinder.mtl -------------------------------------------------------------------------------- /resources/tu10/cylinder.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/resources/tu10/cylinder.obj -------------------------------------------------------------------------------- /resources/tu10/diffuse.DDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/resources/tu10/diffuse.DDS -------------------------------------------------------------------------------- /resources/tu10/normal.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/resources/tu10/normal.bmp -------------------------------------------------------------------------------- /resources/tu10/specular.DDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/resources/tu10/specular.DDS -------------------------------------------------------------------------------- /tu_00_glfw_window_sample.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/tu_00_glfw_window_sample.py -------------------------------------------------------------------------------- /tu_01_color_cube.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/tu_01_color_cube.py -------------------------------------------------------------------------------- /tu_02_texture_without_normal.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/tu_02_texture_without_normal.py -------------------------------------------------------------------------------- /tu_03_loadobj.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/tu_03_loadobj.py -------------------------------------------------------------------------------- /tu_04_1_ue4model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/tu_04_1_ue4model.py -------------------------------------------------------------------------------- /tu_04_vbo.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/tu_04_vbo.py -------------------------------------------------------------------------------- /tu_05_input.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/tu_05_input.py -------------------------------------------------------------------------------- /tu_06_multobjs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/tu_06_multobjs.py -------------------------------------------------------------------------------- /tu_07_basic_shading.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/tu_07_basic_shading.py -------------------------------------------------------------------------------- /tu_08_transparency.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/tu_08_transparency.py -------------------------------------------------------------------------------- /tu_09_draw_text.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/tu_09_draw_text.py -------------------------------------------------------------------------------- /tu_10_normal_mapping.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/tu_10_normal_mapping.py -------------------------------------------------------------------------------- /utils/MVPControl.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/utils/MVPControl.py -------------------------------------------------------------------------------- /utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /utils/glutWindow.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/utils/glutWindow.py -------------------------------------------------------------------------------- /utils/meshViewer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/utils/meshViewer.py -------------------------------------------------------------------------------- /utils/objLoader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/utils/objLoader.py -------------------------------------------------------------------------------- /utils/shaderLoader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/utils/shaderLoader.py -------------------------------------------------------------------------------- /utils/textureLoader.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/utils/textureLoader.py -------------------------------------------------------------------------------- /utils/uv2d.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/utils/uv2d.py -------------------------------------------------------------------------------- /utils/worldsheet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jcteng/python-opengl-tutorial/HEAD/utils/worldsheet.py --------------------------------------------------------------------------------