► 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 |
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 | |