Grafikk
Børre Stenseth
Forklaring av>Lys og materialer>Noen materialer

Noen materialer

Hva

Hvis du vil eksperimentere så bruk materialeditoren som er beskrevet i modulen: Materialeditor

messing
//Messing
float[] mat_ambient ={ 0.329412f, 0.223529f, 0.027451f,1.0f };
float[] mat_diffuse ={ 0.780392f, 0.568627f, 0.113725f, 1.0f };
float[] mat_specular ={ 0.992157f, 0.941176f, 0.807843f, 1.0f };
float shine = 27.8974f;
  	  
bronse
// Bronse
float[] mat_ambient ={ 0.2125f, 0.1275f, 0.054f, 1.0f };
float[] mat_diffuse ={ 0.714f, 0.4284f, 0.18144f, 1.0f };
float[] mat_specular ={ 0.393548f, 0.271906f, 0.166721f, 1.0f };
float shine = 25.6f;
  	  
polert_bronse
//Polert bronse
float[] mat_ambient ={0.25f, 0.148f, 0.06475f, 1.0f  };
float[] mat_diffuse ={0.4f, 0.2368f, 0.1036f, 1.0f };
float[] mat_specular ={0.774597f, 0.458561f, 0.200621f, 1.0f };
float shine =76.8f ;
  	  
krom
//Krom
float[] mat_ambient ={0.25f, 0.25f, 0.25f, 1.0f  };
float[] mat_diffuse ={0.4f, 0.4f, 0.4f, 1.0f };
float[] mat_specular ={0.774597f, 0.774597f, 0.774597f, 1.0f };
float shine = 76.8f;
  	  
kobber
//Kobber
float[] mat_ambient ={ 0.19125f, 0.0735f, 0.0225f, 1.0f };
float[] mat_diffuse ={0.7038f, 0.27048f, 0.0828f, 1.0f };
float[] mat_specular ={0.256777f, 0.137622f, 0.086014f, 1.0f };
float shine = 12.8f;
  	  
polert_kobber
//Polert kobber
float[] mat_ambient ={ 0.2295f, 0.08825f, 0.0275f, 1.0f };
float[] mat_diffuse ={0.5508f, 0.2118f, 0.066f, 1.0f };
float[] mat_specular ={0.580594f, 0.223257f, 0.0695701f, 1.0f };
float shine =51.2f ;
  	  
gull
//Gull
float[] mat_ambient ={ 0.24725f, 0.1995f, 0.0745f, 1.0f };
float[] mat_diffuse ={0.75164f, 0.60648f, 0.22648f, 1.0f };
float[] mat_specular ={0.628281f, 0.555802f, 0.366065f, 1.0f };
float shine =51.2f ;
  	  
polert_gull
//Polert gull
float[] mat_ambient ={ 0.24725f, 0.2245f, 0.0645f, 1.0f };
float[] mat_diffuse ={0.34615f, 0.3143f, 0.0903f, 1.0f };
float[] mat_specular ={ 0.797357f, 0.723991f, 0.208006f, 1.0f};
float shine =83.2f ;
  	  
tinn
//Tinn
float[] mat_ambient ={ 0.105882f, 0.058824f, 0.113725f, 1.0f };
float[] mat_diffuse ={0.427451f, 0.470588f, 0.541176f, 1.0f };
float[] mat_specular ={0.333333f, 0.333333f, 0.521569f, 1.0f };
float shine = 9.84615f;
  	  
solv
//Sølv
float[] mat_ambient ={ 0.19225f, 0.19225f, 0.19225f, 1.0f };
float[] mat_diffuse ={ 0.50754f, 0.50754f, 0.50754f, 1.0f};
float[] mat_specular ={0.508273f, 0.508273f, 0.508273f, 1.0f };
float shine = 51.2f;
  	  
polert_solv
//Polert sølv
float[] mat_ambient ={ 0.23125f, 0.23125f, 0.23125f, 1.0f };
float[] mat_diffuse ={0.2775f, 0.2775f, 0.2775f, 1.0f };
float[] mat_specular ={0.773911f, 0.773911f, 0.773911f, 1.0f };
float shine =89.6f ;
  	  
smaragd
//Smaragd
float[] mat_ambient ={ 0.0215f, 0.1745f, 0.0215f, 0.55f };
float[] mat_diffuse ={0.07568f, 0.61424f, 0.07568f, 0.55f };
float[] mat_specular ={0.633f, 0.727811f, 0.633f, 0.55f };
float shine = 76.8f;
  	  
jade
//Jade
float[] mat_ambient ={ 0.135f, 0.2225f, 0.1575f, 0.95f };
float[] mat_diffuse ={0.54f, 0.89f, 0.63f, 0.95f };
float[] mat_specular ={0.316228f, 0.316228f, 0.316228f, 0.95f };
float shine = 12.8f;
  	  
obsidian
//Obsidian
float[] mat_ambient ={ 0.05375f, 0.05f, 0.06625f, 0.82f };
float[] mat_diffuse ={ 0.18275f, 0.17f, 0.22525f, 0.82f};
float[] mat_specular ={0.332741f, 0.328634f, 0.346435f, 0.82f };
float shine =38.4f ;
  	  
perle
//Perle
float[] mat_ambient ={ 0.25f, 0.20725f, 0.20725f, 0.922f };
float[] mat_diffuse ={1.0f, 0.829f, 0.829f, 0.922f };
float[] mat_specular ={0.296648f, 0.296648f, 0.296648f, 0.922f };
float shine = 11.264f;
  	  
rubin
//Rubin
float[] mat_ambient ={ 0.1745f, 0.01175f, 0.01175f, 0.55f };
float[] mat_diffuse ={0.61424f, 0.04136f, 0.04136f, 0.55f };
float[] mat_specular ={0.727811f, 0.626959f, 0.626959f, 0.55f };
float shine =76.8f ;
  	  
turkis
//Turkis
float[] mat_ambient ={ 0.1f, 0.18725f, 0.1745f, 0.8f };
float[] mat_diffuse ={0.396f, 0.74151f, 0.69102f, 0.8f };
float[] mat_specular ={0.297254f, 0.30829f, 0.306678f, 0.8f };
float shine = 12.8f;
  	  
svart_plastikk
//Svart plastikk
float[] mat_ambient ={0.0f, 0.0f, 0.0f, 1.0 f };
float[] mat_diffuse ={0.01f, 0.01f, 0.01f, 1.0f };
float[] mat_specular ={0.50f, 0.50f, 0.50f, 1.0f };
float shine =32.0f ;
  	  
cyan_plastikk
//Cyan plastikk
float[] mat_ambient ={ 0.0f,0.1f,0.06f ,1.0f};
float[] mat_diffuse ={ 0.0f,0.50980392f,0.50980392f,1.0f};
float[] mat_specular ={0.50196078f,0.50196078f,0.50196078f,1.0f };
float shine =32.0f ;
  	  
gronn_plastikk
//Grønn plastikk
float[] mat_ambient ={ 0.0f,0.0f,0.0f,1.0f };
float[] mat_diffuse ={ 0.1f,0.35f,0.1f,1.0f};
float[] mat_specular ={0.45f,0.55f,0.45f,1.0f };
float shine = 32.0f ;
  	  
rod_plastikk
//Rød plastikk
float[] mat_ambient ={ 0.0f,0.0f,0.0f,1.0f };
float[] mat_diffuse ={ 0.5f,0.0f,0.0f,1.0f};
float[] mat_specular ={0.7f,0.6f,0.6f,1.0f };
float shine =32.0f ;
  	  
hvit_plastikk
//Hvit plastikk
float[] mat_ambient ={ 0.0f,0.0f,0.0f,1.0f };
float[] mat_diffuse ={ 0.55f,0.55f,0.55f,1.0f};
float[] mat_specular ={0.70f,0.70f,0.70f,1.0f };
float shine = 32.0f ;
  	  
gul_plastikk
//Gul plastikk
float[] mat_ambient ={0.0f,0.0f,0.0f,1.0f };
float[] mat_diffuse ={0.5f,0.5f,0.0f,1.0f };
float[] mat_specular ={0.60f,0.60f,0.50f,1.0f };
float shine = 32.0f ;
  	  
svart_gummi
//Svart gummi
float[] mat_ambient ={ 0.02f, 0.02f, 0.02f, 1.0f };
float[] mat_diffuse ={ 0.01f, 0.01f, 0.01f, 1.0f};
float[] mat_specular ={0.4f, 0.4f, 0.4f, 1.0f };
float shine = 10.0f;
  	  
cyan_gummi
//Cyan gummi
float[] mat_ambient ={ 0.0f,0.05f,0.05f,1.0f };
float[] mat_diffuse ={0.4f,0.5f,0.5f,1.0f };
float[] mat_specular ={0.04f,0.7f,0.7f,1.0f };
float shine = 10.0f;
  	  
gronn_gummi
//Grønn gummi
float[] mat_ambient ={ 0.0f,0.05f,0.0f,1.0f };
float[] mat_diffuse ={ 0.4f,0.5f,0.4f,1.0f};
float[] mat_specular ={0.04f,0.7f,0.04f,1.0f };
float shine =  10.0f;
  	  
rod_gummi
//Rød gummi
float[] mat_ambient ={ 0.05f,0.0f,0.0f,1.0f };
float[] mat_diffuse ={ 0.5f,0.4f,0.4f,1.0f};
float[] mat_specular ={ 0.7f,0.04f,0.04f,1.0f};
float shine = 10.0f;
  	  
hvit_gummi
//Hvit gummi
float[] mat_ambient ={ 0.05f,0.05f,0.05f,1.0f };
float[] mat_diffuse ={ 0.5f,0.5f,0.5f,1.0f};
float[] mat_specular ={ 0.7f,0.7f,0.7f,1.0f};
float shine = 10.0f;
  	  
gul_gummi
//Gul gummi
float[] mat_ambient ={ 0.05f,0.05f,0.0f,1.0f };
float[] mat_diffuse ={0.5f,0.5f,0.4f,1.0f};
float[] mat_specular ={0.7f,0.7f,0.04f,1.0f };
float shine = 10.0f;
  	  

Tekannene ovenfor er belyst slik:

// set up light
float[] ambient = { 0.2f, 0.2f, 0.2f, 1.0f };
float[] diffuse = { 1.0f, 1.0f, 1.0f, 1.0f };
float[] specular ={ 1.0f, 1.0f, 1.0f, 1.0f };
float[] position = { 200.0f, 300.0f, 100.0f, 0.0f };

Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_AMBIENT, ambient);
Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_DIFFUSE, diffuse);
Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_SPECULAR, specular);
Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_POSITION, position);
Gl.glEnable(Gl.GL_LIGHT0);
Gl.glEnable(Gl.GL_LIGHTING);
[1] [2]
Referanser
  1. OpenGL MaterialsSilicon GraphicsCross platform .Net development framweworkmecadserv1.technion.ac.il/public_html/LabCourses/interActiveGraphics/ogl_course/ogl_LAB/OpenGLmat.pdf14-03-2010
  1. Surface Materials for OpenGLFrom F.S. Hill's Computer Graphics Using OpenGL, 2nd edition, Prentice Hall (2001)acc6.its.brooklyn.cuny.edu/~lscarlat/graphics/SurfMats.html14-03-2010
Vedlikehold

B.Stenseth, mai 2006

Forklaring av>Lys og materialer>Noen materialer
til toppen