Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Projet-Infographie/Projet-Infographie.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@
<ItemGroup>
<ClCompile Include="src\main.cpp" />
<ClCompile Include="src\application.cpp" />
<ClCompile Include="src\bezierSurface.cpp" />
<ClCompile Include="src\object2D.cpp" />
<ClCompile Include="src\object3D.cpp" />
<ClCompile Include="src\renderer.cpp" />
Expand All @@ -205,6 +206,7 @@
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\application.h" />
<ClInclude Include="src\bezierSurface.h" />
<ClInclude Include="src\object2D.h" />
<ClInclude Include="src\object3D.h" />
<ClInclude Include="src\renderer.h" />
Expand Down
6 changes: 6 additions & 0 deletions Projet-Infographie/Projet-Infographie.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
<ClCompile Include="src\application.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\bezierSurface.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="src\main.cpp">
<Filter>src</Filter>
</ClCompile>
Expand Down Expand Up @@ -125,6 +128,9 @@
<ClInclude Include="src\application.h">
<Filter>src</Filter>
</ClInclude>
<ClInclude Include="src\bezierSurface.h">
<Filter>src</Filter>
</ClInclude>
<ClInclude Include="src\object2D.h">
<Filter>src</Filter>
</ClInclude>
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
55 changes: 55 additions & 0 deletions Projet-Infographie/bin/data/shader/Ancien/blinn_phong_330_fs.glsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
// IFT3100H22 ~ blinn_phong_330_fs.glsl

#version 330

// attributs interpolés à partir des valeurs en sortie du shader de sommet
in vec3 surface_position;
in vec3 surface_normal;

// attribut en sortie
out vec4 fragment_color;

// couleurs de réflexion du matériau
uniform vec3 color_ambient;
uniform vec3 color_diffuse;
uniform vec3 color_specular;

// facteur de brillance spéculaire du matériau
uniform float brightness;

// position d'une source de lumière
uniform vec3 light_position;

void main()
{
// re-normaliser la normale après interpolation
vec3 n = normalize(surface_normal);

// calculer la direction de la surface vers la lumière (l)
vec3 l = normalize(light_position - surface_position);

// calculer le niveau de réflexion diffuse (n • l)
float reflection_diffuse = max(dot(n, l), 0.0);

// réflexion spéculaire par défaut
float reflection_specular = 0.0;

// calculer la réflexion spéculaire seulement s'il y a réflexion diffuse
if (reflection_diffuse > 0.0)
{
// calculer la direction de la surface vers la caméra (v)
vec3 v = normalize(-surface_position);

// calculer la direction du demi-vecteur de réflection (h) en fonction du vecteur de vue (v) et de lumière (l)
vec3 h = normalize(v + l);

// calculer le niveau de réflexion spéculaire (n • h)
reflection_specular = pow(max(dot(n, h), 0.0), brightness);
}

// calculer la couleur du fragment
fragment_color = vec4(
color_ambient +
color_diffuse * reflection_diffuse +
color_specular * reflection_specular, 1.0);
}
30 changes: 30 additions & 0 deletions Projet-Infographie/bin/data/shader/Ancien/blinn_phong_330_vs.glsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// IFT3100H22 ~ blinn_phong_330_vs.glsl

#version 330

// attributs de sommet
in vec4 position;
in vec4 normal;

// attributs en sortie
out vec3 surface_position;
out vec3 surface_normal;

// attributs uniformes
uniform mat4x4 modelViewMatrix;
uniform mat4x4 projectionMatrix;

void main()
{
// calculer la matrice normale
mat4x4 normalMatrix = transpose(inverse(modelViewMatrix));

// transformation de la normale du sommet dans l'espace de vue
surface_normal = vec3(normalMatrix * normal);

// transformation de la position du sommet dans l'espace de vue
surface_position = vec3(modelViewMatrix * position);

// transformation de la position du sommet par les matrices de modèle, vue et projection
gl_Position = projectionMatrix * modelViewMatrix * position;
}
14 changes: 14 additions & 0 deletions Projet-Infographie/bin/data/shader/Ancien/color_fill_330_fs.glsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// IFT3100H22 ~ color_fill_330_fs.glsl

#version 330

// couleur de remplissage du matériau
uniform vec3 color;

out vec4 fragment_color;

void main()
{
// déterminer la couleur du fragment
fragment_color = vec4(color, 1.0);
}
16 changes: 16 additions & 0 deletions Projet-Infographie/bin/data/shader/Ancien/color_fill_330_vs.glsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// IFT3100H22 ~ color_fill_330_vs.glsl

#version 330

// attribut de sommet
in vec4 position;

// attributs uniformes
uniform mat4x4 modelViewMatrix;
uniform mat4x4 projectionMatrix;

void main()
{
// transformation de la position du sommet par les matrices de modèle, vue et projection
gl_Position = projectionMatrix * modelViewMatrix * position;
}
15 changes: 15 additions & 0 deletions Projet-Infographie/bin/data/shader/Ancien/gouraud_330_fs.glsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// IFT3100H22 ~ gouraud_330_fs.glsl

#version 330

// attribut interpolé à partir des valeurs en sortie du shader de sommet
in vec3 surface_color;

// attribut en sortie
out vec4 fragment_color;

void main()
{
// calculer la couleur du fragment
fragment_color = vec4(surface_color, 1.0);
}
71 changes: 71 additions & 0 deletions Projet-Infographie/bin/data/shader/Ancien/gouraud_330_vs.glsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
// IFT3100H22 ~ gouraud_330_vs.glsl

#version 330

// attributs de sommet
in vec4 position;
in vec4 normal;

// attributs en sortie
out vec3 surface_color;

// attributs uniformes
uniform mat4x4 modelViewMatrix;
uniform mat4x4 projectionMatrix;

// couleurs de réflexion du matériau
uniform vec3 color_ambient;
uniform vec3 color_diffuse;
uniform vec3 color_specular;

// facteur de brillance spéculaire du matériau
uniform float brightness;

// position d'une source de lumière
uniform vec3 light_position;

void main()
{
// calculer la matrice normale
mat4x4 normalMatrix = transpose(inverse(modelViewMatrix));

// transformation de la normale du sommet dans l'espace de vue
vec3 surface_normal = vec3(normalMatrix * normal);

// transformation de la position du sommet dans l'espace de vue
vec3 surface_position = vec3(modelViewMatrix * position);

// re-normaliser la normale
vec3 n = normalize(surface_normal);

// calculer la direction de la surface vers la lumière (l)
vec3 l = normalize(light_position - surface_position);

// calculer le niveau de réflexion diffuse (n • l)
float reflection_diffuse = max(dot(n, l), 0.0);

// réflexion spéculaire par défaut
float reflection_specular = 0.0;

// calculer la réflexion spéculaire seulement s'il y a réflexion diffuse
if (reflection_diffuse > 0.0)
{
// calculer la direction de la surface vers la caméra (v)
vec3 v = normalize(-surface_position);

// calculer la direction de la réflection (v) du rayon incident (-l) en fonction de la normale (n)
vec3 r = reflect(-l, n);

// calculer le niveau de réflexion spéculaire (r • v)
reflection_specular = pow(max(dot(v, r), 0.0), brightness);
}

// calculer la couleur du fragment
surface_color = vec3(
color_ambient +
color_diffuse * reflection_diffuse +
color_specular * reflection_specular);

// transformation de la position du sommet par les matrices de modèle, vue et projection
gl_Position = projectionMatrix * modelViewMatrix * position;
}
32 changes: 32 additions & 0 deletions Projet-Infographie/bin/data/shader/Ancien/lambert_330_fs.glsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// IFT3100H22 ~ lambert_330_fs.glsl

#version 330

// attributs interpolés à partir des valeurs en sortie du shader de sommets
in vec3 surface_position;
in vec3 surface_normal;

// attribut en sortie
out vec4 fragment_color;

// couleurs de réflexion du matériau
uniform vec3 color_ambient;
uniform vec3 color_diffuse;

// position d'une source de lumière
uniform vec3 light_position;

void main()
{
// re-normaliser la normale après interpolation (n)
vec3 n = normalize(surface_normal);

// calculer la direction de la surface vers la lumière (l)
vec3 l = normalize(light_position - surface_position);

// calculer le niveau de réflexion diffuse (n • l)
float reflection_diffuse = max(dot(n, l), 0.0);

// déterminer la couleur du fragment
fragment_color = vec4(color_ambient + color_diffuse * reflection_diffuse, 1.0);
}
30 changes: 30 additions & 0 deletions Projet-Infographie/bin/data/shader/Ancien/lambert_330_vs.glsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// IFT3100H22 ~ lambert_330_vs.glsl

#version 330

// attributs de sommet
in vec4 position;
in vec4 normal;

// attributs en sortie
out vec3 surface_position;
out vec3 surface_normal;

// attributs uniformes
uniform mat4x4 modelViewMatrix;
uniform mat4x4 projectionMatrix;

void main()
{
// calculer la matrice normale
mat4x4 normalMatrix = transpose(inverse(modelViewMatrix));

// transformation de la normale du sommet dans l'espace de vue
surface_normal = vec3(normalMatrix * normal);

// transformation de la position du sommet dans l'espace de vue
surface_position = vec3(modelViewMatrix * position);

// transformation de la position du sommet par les matrices de modèle, vue et projection
gl_Position = projectionMatrix * modelViewMatrix * position;
}
55 changes: 55 additions & 0 deletions Projet-Infographie/bin/data/shader/Ancien/phong_330_fs.glsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
// IFT3100H22 ~ phong_330_fs.glsl

#version 330

// attributs interpolés à partir des valeurs en sortie du shader de sommets
in vec3 surface_position;
in vec3 surface_normal;

// attribut en sortie
out vec4 fragment_color;

// couleurs de réflexion du matériau
uniform vec3 color_ambient;
uniform vec3 color_diffuse;
uniform vec3 color_specular;

// facteur de brillance spéculaire du matériau
uniform float brightness;

// position d'une source de lumière
uniform vec3 light_position;

void main()
{
// re-normaliser la normale après interpolation
vec3 n = normalize(surface_normal);

// calculer la direction de la surface vers la lumière (l)
vec3 l = normalize(light_position - surface_position);

// calculer le niveau de réflexion diffuse (n • l)
float reflection_diffuse = max(dot(n, l), 0.0);

// réflexion spéculaire par défaut
float reflection_specular = 0.0;

// calculer la réflexion spéculaire seulement s'il y a réflexion diffuse
if (reflection_diffuse > 0.0)
{
// calculer la direction de la surface vers la caméra (v)
vec3 v = normalize(-surface_position);

// calculer la direction de la réflection (r) du rayon incident (-l) en fonction de la normale (n)
vec3 r = reflect(-l, n);

// calculer le niveau de réflexion spéculaire (r • v)
reflection_specular = pow(max(dot(v, r), 0.0), brightness);
}

// calculer la couleur du fragment
fragment_color = vec4(
color_ambient +
color_diffuse * reflection_diffuse +
color_specular * reflection_specular, 1.0);
}
30 changes: 30 additions & 0 deletions Projet-Infographie/bin/data/shader/Ancien/phong_330_vs.glsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// IFT3100H22 ~ phong_330_vs.glsl

#version 330

// attributs de sommet
in vec4 position;
in vec4 normal;

// attributs en sortie
out vec3 surface_position;
out vec3 surface_normal;

// attributs uniformes
uniform mat4x4 modelViewMatrix;
uniform mat4x4 projectionMatrix;

void main()
{
// calculer la matrice normale
mat4x4 normalMatrix = transpose(inverse(modelViewMatrix));

// transformation de la normale du sommet dans l'espace de vue
surface_normal = vec3(normalMatrix * normal);

// transformation de la position du sommet dans l'espace de vue
surface_position = vec3(modelViewMatrix * position);

// transformation de la position du sommet par les matrices de modèle, vue et projection
gl_Position = projectionMatrix * modelViewMatrix * position;
}
Loading