Trois questions en un message ;-)
- je ne sais pas comment vous dessinez votre cône et n'ai pas bien compris la question
- la toupie chinoise diverge vite avec Euler. EDIT 22 mai : pour des valeurs, voir ce fil de discussion : https://moodlearchive.epfl.ch/2019-2020/mod/forum/discuss.php?d=35282#p72061
- je ne sais pas à quel niveau vous programmez le graphisme
- en version « old style » : voyez du coté de glClipPlane
- avec des shaders: faites un shader inspiré de celui de la sphère mais dans lequel vous utilisez un « discard » dans la partie fragment si le produit scalaire entre la position et le vecteur du plan qui coupe est négatif. Par exemple :
dans vertex_shader.glsl:varying float draw;
...// dans le main() :
draw = dot(gl_Position, clip_plane);
...
et dans fragment_shader.glsl :varying float draw;
...// dans le main() :
if (draw < 0.0) {
discard;
}
gl_FragColor = vec4(ma_couleur, 1.0);