| ► src | |
| ► gKit | |
| app.cpp | |
| app.h | |
| app_camera.cpp | |
| app_camera.h | |
| app_time.cpp | |
| app_time.h | |
| cgltf.cpp | |
| cgltf.h | |
| color.cpp | |
| color.h | |
| crng.h | |
| draw.cpp | |
| draw.h | |
| envmap.cpp | |
| envmap.h | |
| files.cpp | |
| files.h | |
| framebuffer.cpp | |
| framebuffer.h | |
| gamepads.cpp | |
| gamepads.h | |
| glcore.h | |
| gltf.cpp | |
| gltf.h | Scene glTF |
| image.cpp | |
| image.h | |
| image_hdr.cpp | |
| image_hdr.h | |
| image_io.cpp | |
| image_io.h | |
| mat.cpp | |
| mat.h | |
| materials.h | |
| mesh.cpp | |
| mesh.h | |
| orbiter.cpp | |
| orbiter.h | |
| pcg.h | |
| program.cpp | |
| program.h | |
| quaternion.h | |
| rand123.h | |
| rgbe.cpp | |
| rgbe.h | |
| rng.h | |
| text.cpp | |
| text.h | |
| texture.cpp | |
| texture.h | |
| uniforms.cpp | |
| uniforms.h | |
| vec.cpp | |
| vec.h | |
| wavefront.cpp | |
| wavefront.h | |
| wavefront_fast.cpp | |
| wavefront_fast.h | |
| widgets.cpp | |
| widgets.h | |
| window.cpp | |
| window.h | |
| image_viewer.cpp | Permet de visualiser les images aux formats reconnus par gKit2 light bmp, jpg, tga, png, hdr, etc |
| shader_kit.cpp | Shader_kit light, bac a sable fragment shader, cf shader_toy |
| shader_kit_debug.cpp | |
| ► tutos | |
| ► M2 | |
| compute_buffer.glsl | Exemple compute shader + buffers |
| compute_image.glsl | Compute shader + images |
| count_buffer.glsl | Filtrer des donnees / compacter des resultats, manipulation de compteurs atomiques partages |
| fragment.glsl | |
| fragment_record.glsl | |
| fragments.cpp | Capture et rejoue tous les fragments generes pour dessiner une scene. colorie les fragments en fonction de l'overdraw |
| histogram.glsl | |
| histogram1.glsl | |
| histogram2.glsl | |
| indirect.glsl | |
| indirect_cull.glsl | |
| indirect_direct.glsl | |
| indirect_elements.glsl | |
| indirect_remap.glsl | |
| instance.glsl | |
| is.glsl | |
| raytrace.glsl | Fragment shader, intersection rayon / quelques triangles |
| raytrace_compute.glsl | |
| read_buffer.glsl | Relire un buffer prive |
| tuto_compute_buffer.cpp | Compute shader + buffers |
| tuto_compute_image.cpp | Compute shader + images |
| tuto_count_buffer.cpp | Filtrer des donnees / compacter des resultats, manipulation de compteurs atomiques partages |
| tuto_histogram1_compute.cpp | |
| tuto_histogram2_compute.cpp | |
| tuto_histogram_compute.cpp | |
| tuto_is.cpp | |
| tuto_mdi.cpp | Affichage de plusieurs objets avec glMultiDrawIndirect() + mesure du temps d'execution par le cpu et le gpu (utilise une requete / query openGL) |
| tuto_mdi_count.cpp | |
| tuto_mdi_elements.cpp | |
| tuto_mdi_elements_count.cpp | |
| tuto_raytrace_compute.cpp | |
| tuto_raytrace_fragment.cpp | Utilise un fragment shader, intersection rayon / quelques triangles |
| tuto_read_buffer.cpp | Relire un buffer privee |
| tuto_stream.cpp | Utilisation de glBufferStorage() / glMapBufferRange() |
| tuto_time.cpp | Mesure du temps d'execution par le cpu et le gpu (utilise une requete / query openGL) + std::chrono pour le cpu |
| alpha.cpp | |
| alpha.glsl | |
| alpha_notexture.glsl | |
| brdf_lambert.glsl | |
| cubemap.glsl | Reflechir une cubemap sur un objet |
| decal.glsl | |
| deferred_decal.glsl | |
| deferred_mesh.glsl | |
| draw_cubemap.glsl | , dessine une cubemap a l'infini |
| draw_decal.glsl | |
| instance_buffer.glsl | Utilisation de glDrawArraysInstanced() et attributs d'instance |
| instanceID.glsl | Utilisation de glDrawArraysInstanced() et gl_InstanceID |
| intro1.glsl | |
| material_data.cpp | |
| material_data.h | Charge les textures utiilisees par un ensemble de matieres |
| mesh_buffer.cpp | |
| mesh_buffer.h | Representation d'un objet openGL |
| mesh_data.cpp | |
| mesh_data.h | Representation des donnees d'un fichier wavefront .obj |
| mesh_viewer.cpp | |
| mesh_viewer.glsl | |
| min_atomic.glsl | |
| min_data.cpp | |
| min_data.glsl | |
| pipeline.cpp | |
| pipeline3d.cpp | |
| pipeline_compute.glsl | |
| render_cubemap.glsl | |
| storage.glsl | |
| storage_texture_display.glsl | |
| texcoords.glsl | |
| tuto1.cpp | Creation d'une application vide. affiche une fenetre vide / noire |
| tuto10.cpp | |
| tuto10.glsl | |
| tuto1GL.cpp | Application minimaliste openGL3 core |
| tuto1GL_fragment.glsl | |
| tuto1GL_vertex.glsl | |
| tuto2.cpp | Utilisation de mesh pour decrire les sommets d'un ou plusieurs triangles et les dessiner |
| tuto2GL.cpp | Le premier shader, afficher un triangle et le deplacer.. |
| tuto2GL.glsl | Utilise par tuto2GL_app.cpp |
| tuto2GL_app.cpp | Le premier shader, afficher un triangle et le deplacer, version App |
| tuto2GL_fragment.glsl | |
| tuto2GL_vertex.glsl | |
| tuto3.cpp | Utiliser mesh pour dessiner un triangle avec une rotation |
| tuto3GL.cpp | Passer des parametres a un shader program, afficher quelques triangles et les deplacer.. |
| tuto3GL.glsl | Affichage d'un cube, 12 triangles, 36 sommets |
| tuto3GL_reflect.cpp | Afficher les uniforms et les attributs utilises par un program |
| tuto4.cpp | Utiliser mesh pour dessiner un triangle du point de vue d'une camera |
| tuto4GL.cpp | |
| tuto4GL.glsl | |
| tuto4GL_normals.cpp | |
| tuto4GL_normals.glsl | |
| tuto5.cpp | Utiliser mesh pour charger un objet .obj et le dessiner du point de vue d'une camera + controle de la camera a la souris |
| tuto5GL.cpp | |
| tuto5GL.glsl | |
| tuto5GL_cubemap.cpp | Dessiner une cubemap a l'infini |
| tuto5GL_cubemap.glsl | Reflechir une cubemap sur un objet |
| tuto5GL_dynamic_cubemap.cpp | Rendu dans une cubemap en 1 passe : draw instancie + vertex gl_Layer |
| tuto5GL_multi.cpp | |
| tuto5GL_multi.glsl | |
| tuto5GL_sampler.cpp | |
| tuto5GL_samplers.cpp | |
| tuto6.cpp | Dessiner un objet texture |
| tuto6GL.cpp | Utilisation de glDrawArraysInstanced() et gl_InstanceID |
| tuto6GL_buffer.cpp | Utilisation de glDrawArraysInstanced() et attributs d'instance sotckes dans un buffer |
| tuto7.cpp | Reprise de tuto6.cpp mais en derivant App::init(), App::quit() et bien sur App::render() |
| tuto7_camera.cpp | Reprise de tuto7.cpp mais en derivant AppCamera, avec gestion automatique d'une camera |
| tuto8.cpp | Exemple d'animation en derivant App::update() |
| tuto9.cpp | Utilisation d'un shader 'utilisateur' pour afficher un objet Mesh |
| tuto9_buffers.cpp | Utilisation d'un shader 'utilisateur' pour afficher un objet Mesh + creation des buffers / vertex array object |
| tuto9_color.glsl | |
| tuto9_groups.cpp | Afficher un objet Mesh et ses matieres, dessine les groupe de triangles, un par un |
| tuto9_groups.glsl | |
| tuto9_materials.cpp | Utilisation d'un shader 'utilisateur' pour afficher un objet Mesh et ses matieres |
| tuto9_materials.glsl | |
| tuto9_texture1.cpp | Utilisation d'un shader 'utilisateur' pour afficher un objet Mesh avec une texture |
| tuto9_texture1.glsl | |
| tuto9_textures.cpp | Utilisation d'un shader 'utilisateur' pour afficher un objet Mesh avec une texture |
| tuto9_textures.glsl | |
| tuto_bvh.cpp | |
| tuto_bvh2.cpp | Bvh 2 niveaux et instances |
| tuto_bvh2_gltf.cpp | Bvh 2 niveaux et instances, charge un fichier gltf.. |
| tuto_bvh2_gltf_brdf.cpp | Bvh 2 niveaux et instances, charge un fichier gltf... + utilitaires.. |
| tuto_cubemap.cpp | Reflets miroirs cubemap / envmap |
| tuto_decal.cpp | |
| tuto_deferred_decal.cpp | |
| tuto_draw_cubemap.cpp | Chargement et affichage d'une cubemap / envmap |
| tuto_dynamic_cubemap.cpp | Rendu dans une cubemap |
| tuto_englobant.cpp | |
| tuto_framebuffer.cpp | Utilisation de framebuffers, fbo |
| tuto_pad.cpp | Exemple d'utilisation des pads |
| tuto_ray_gltf.cpp | |
| tuto_rayons.cpp | |
| tuto_shadows.cpp | |
| tuto_storage.cpp | Alignement des donnees / storage buffers |
| tuto_storage_buffer.cpp | Exemple direct d'utilisation d'un storage buffer. le vertex shader recupere les attributs des sommets dans un storage buffer sans utiliser de vao |
| tuto_storage_buffer.glsl | |
| tuto_storage_texture.cpp | Exemple direct d'utilisation d'une storage texture / image. le fragment shader compte combien de fragments sont calcules par pixel |
| tuto_storage_texture.glsl | |
| tuto_transform.cpp | Visualisation du volume visible par une camera, + visualisation d'un objet (par rapport au volume visible) |
| tuto_transformations.cpp | |
| tuto_transformations_camera.cpp | |
| tuto_transformations_lookat.cpp | |
| tuto_uniform_buffers.cpp | Alignement des donnees / uniform buffers |
| tuto_vertex_compute.cpp | Exemple direct |
| uniform.glsl | |
| vertex_compute.glsl | |