/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.Enable(OpenGL.GL_DEPTH_TEST); gl.Enable(OpenGL.GL_CULL_FACE); SetupMaterials(gl); SetupLighting(gl); SetupTextures(gl); m_scene.LoadScene(); m_scene.Initialize(); cube = new Cube(); tray = new Cube(); disk = new Disk { Loops = 120, Slices = 50, InnerRadius = 0.2f, OuterRadius = 1.0f }; disk.CreateInContext(gl); disk.NormalGeneration = Normals.Smooth; disk.Material = new SharpGL.SceneGraph.Assets.Material(); disk.Material.Ambient = Color.FromArgb(32, 64, 64); disk.Material.Diffuse = Color.FromArgb(102, 102, 102); disk.Material.Specular = Color.FromArgb(198, 198, 198); disk.Material.Shininess = 76.8f; disk.Material.Bind(gl); gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { // gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); // gl.Color(1f, 0f, 0f); // Model sencenja na flat (konstantno) gl.ShadeModel(OpenGL.GL_FLAT); gl.Enable(OpenGL.GL_DEPTH_TEST); gl.Enable(OpenGL.GL_CULL_FACE); gl.Enable(OpenGL.GL_LIGHTING); gl.Enable(OpenGL.GL_COLOR_MATERIAL); gl.Enable(OpenGL.GL_TEXTURE_2D); LoadTextures(gl); // gl.ClearColor(0.545f, 0.271f, 0.075f, 1.0f); timer1 = new DispatcherTimer(); timer1.Interval = TimeSpan.FromMilliseconds(60); timer1.Tick += new EventHandler(animation); m_scene.LoadScene(); m_scene.Initialize(); m_scene_bullet.LoadScene(); m_scene_bullet.Initialize(); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { // Model sencenja na flat (konstantno) //gl.ShadeModel(OpenGL.GL_FLAT); gl.ShadeModel(OpenGL.GL_SMOOTH); //ukljuceno testiranje dubine gl.Enable(OpenGL.GL_DEPTH_TEST); //sakrivanje nevidljiv povrsina gl.Enable(OpenGL.GL_CULL_FACE); //color tracking gl.Enable(OpenGL.GL_COLOR_MATERIAL); //ambientalna i difuzna komponenta gl.ColorMaterial(OpenGL.GL_FRONT, OpenGL.GL_AMBIENT_AND_DIFFUSE); //automatska normalizacija gl.Enable(OpenGL.GL_NORMALIZE); gl.Enable(OpenGL.GL_TEXTURE_2D); gl.TexEnv(OpenGL.GL_TEXTURE_ENV, OpenGL.GL_TEXTURE_ENV_MODE, OpenGL.GL_ADD); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_S, OpenGL.GL_REPEAT); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_T, OpenGL.GL_REPEAT); gl.TexGen(OpenGL.GL_S, OpenGL.GL_TEXTURE_GEN_MODE, OpenGL.GL_SPHERE_MAP); gl.TexGen(OpenGL.GL_T, OpenGL.GL_TEXTURE_GEN_MODE, OpenGL.GL_SPHERE_MAP); gl.Enable(OpenGL.GL_TEXTURE_GEN_S); gl.Enable(OpenGL.GL_TEXTURE_GEN_T); // Ucitaj slike i kreiraj teksture gl.GenTextures(m_textureCount, m_textures); for (int i = 0; i < m_textureCount; ++i) { // Pridruzi teksturu odgovarajucem identifikatoru gl.BindTexture(OpenGL.GL_TEXTURE_2D, m_textures[i]); // Ucitaj sliku i podesi parametre teksture Bitmap image = new Bitmap(m_textureFiles[i]); // rotiramo sliku zbog koordinantog sistema opengl-a image.RotateFlip(RotateFlipType.RotateNoneFlipY); Rectangle rect = new Rectangle(0, 0, image.Width, image.Height); // RGBA format (dozvoljena providnost slike tj. alfa kanal) BitmapData imageData = image.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); gl.Build2DMipmaps(OpenGL.GL_TEXTURE_2D, (int)OpenGL.GL_RGBA8, image.Width, image.Height, OpenGL.GL_BGRA, OpenGL.GL_UNSIGNED_BYTE, imageData.Scan0); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MIN_FILTER, OpenGL.GL_LINEAR_MIPMAP_LINEAR); // Linear Filtering gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MAG_FILTER, OpenGL.GL_LINEAR_MIPMAP_LINEAR); // Linear Filtering image.UnlockBits(imageData); image.Dispose(); } //ucitavanje modela m_scene.LoadScene(); m_scene.Initialize(); m_scene2.LoadScene(); m_scene2.Initialize(); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); gl.Color(1f, 1f, 0f); gl.ShadeModel(OpenGL.GL_FLAT); gl.Enable(OpenGL.GL_DEPTH_TEST); gl.Enable(OpenGL.GL_CULL_FACE); gl.FrontFace(OpenGL.GL_CW); //faza 2 : tacka 1 gl.Enable(OpenGL.GL_COLOR_MATERIAL); gl.ColorMaterial(OpenGL.GL_FRONT, OpenGL.GL_AMBIENT_AND_DIFFUSE); //faza 2 : tacka 2 + tacka 9 SetupLighting(gl); gl.Enable(OpenGL.GL_TEXTURE_2D); gl.TexEnv(OpenGL.GL_TEXTURE_ENV, OpenGL.GL_TEXTURE_ENV_MODE, OpenGL.GL_DECAL); gl.GenTextures(m_textureCount, m_textures); gl.BindTexture(OpenGL.GL_TEXTURE_2D, 0); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MIN_FILTER, OpenGL.GL_NEAREST); for (int i = 0; i < m_textureCount; ++i) { // Pridruzi teksturu odgovarajucem identifikatoru gl.BindTexture(OpenGL.GL_TEXTURE_2D, m_textures[i]); // Ucitaj sliku i podesi parametre teksture System.Drawing.Bitmap image = new Bitmap(m_textureFiles[i]); // rotiramo sliku zbog koordinantog sistema opengl-a image.RotateFlip(RotateFlipType.RotateNoneFlipY); Rectangle rect = new Rectangle(0, 0, image.Width, image.Height); // RGBA format (dozvoljena providnost slike tj. alfa kanal) BitmapData imageData = image.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); gl.Build2DMipmaps(OpenGL.GL_TEXTURE_2D, (int)OpenGL.GL_RGBA8, image.Width, image.Height, OpenGL.GL_BGRA, OpenGL.GL_UNSIGNED_BYTE, imageData.Scan0); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MIN_FILTER, OpenGL.GL_LINEAR); // Linear Filtering gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MAG_FILTER, OpenGL.GL_LINEAR); // Linear Filtering // faza 2 : tacka 3 gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_S, OpenGL.GL_REPEAT); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_T, OpenGL.GL_REPEAT); image.UnlockBits(imageData); image.Dispose(); } m_scene.LoadScene(); m_scene.Initialize(); m_scene2.LoadScene(); m_scene2.Initialize(); m_scene_door.LoadScene(); m_scene_door.Initialize(); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); //gl.Color(1f, 0f, 0f); // Model sencenja na flat (konstantno) gl.ShadeModel(OpenGL.GL_FLAT); gl.Enable(OpenGL.GL_DEPTH); m_scene.LoadScene(); m_scene.Initialize(); }
public void Initialize(OpenGL gl) { gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); gl.Color(0.5f, 0.5f, 0.5f); gl.ShadeModel(OpenGL.GL_FLAT); if (m_depthTesting) { gl.Enable(OpenGL.GL_DEPTH_TEST); } if (m_culling) { gl.Enable(OpenGL.GLU_CULLING); } gl.FrontFace(OpenGL.GL_CCW); gl.Enable(OpenGL.GL_COLOR_MATERIAL); gl.ColorMaterial(OpenGL.GL_FRONT, OpenGL.GL_AMBIENT_AND_DIFFUSE); // setupLighting(gl); //setupTargetLight(gl); m_scene.LoadScene(); m_scene.Initialize(); m_strela.LoadScene(); m_strela.Initialize(); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MIN_FILTER, OpenGL.GL_LINEAR); // Linearno filtriranje gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MAG_FILTER, OpenGL.GL_LINEAR); // Linearno filtriranje gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_S, OpenGL.GL_REPEAT); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_T, OpenGL.GL_REPEAT); gl.TexEnv(OpenGL.GL_TEXTURE_ENV, OpenGL.GL_TEXTURE_ENV_MODE, OpenGL.GL_MODULATE); gl.Enable(OpenGL.GL_TEXTURE_2D); gl.GenTextures(m_textureCount, m_textures); for (int i = 0; i < m_textureCount; ++i) { gl.BindTexture(OpenGL.GL_TEXTURE_2D, m_textures[i]); Bitmap image = new Bitmap(m_textureFiles[i]); image.RotateFlip(RotateFlipType.RotateNoneFlipY); Rectangle rect = new Rectangle(0, 0, image.Width, image.Height); BitmapData imageData = image.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); gl.Build2DMipmaps(OpenGL.GL_TEXTURE_2D, (int)OpenGL.GL_RGBA8, image.Width, image.Height, OpenGL.GL_BGRA, OpenGL.GL_UNSIGNED_BYTE, imageData.Scan0); image.UnlockBits(imageData); image.Dispose(); } }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { ogl = gl; gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); //gl.Color(0f, 1f, 0f); // Model sencenja na flat (konstantno) gl.ShadeModel(OpenGL.GL_SMOOTH); gl.Enable(OpenGL.GL_DEPTH_TEST); gl.Enable(OpenGL.GL_CULL_FACE); gl.Enable(OpenGL.GL_NORMALIZE); gl.Enable(OpenGL.GL_COLOR_MATERIAL); gl.ColorMaterial(OpenGL.GL_FRONT, OpenGL.GL_AMBIENT_AND_DIFFUSE); // Teksture se primenjuju sa parametrom decal gl.Enable(OpenGL.GL_TEXTURE_2D); gl.TexEnv(OpenGL.GL_TEXTURE_ENV, OpenGL.GL_TEXTURE_ENV_MODE, OpenGL.GL_ADD); // Ucitaj slike i kreiraj teksture gl.GenTextures(m_textureCount, m_textures); for (int i = 0; i < m_textureCount; ++i) { // Pridruzi teksturu odgovarajucem identifikatoru gl.BindTexture(OpenGL.GL_TEXTURE_2D, m_textures[i]); // Ucitaj sliku i podesi parametre teksture Bitmap image = new Bitmap(m_textureFiles[i]); // rotiramo sliku zbog koordinantog sistema opengl-a image.RotateFlip(RotateFlipType.RotateNoneFlipY); Rectangle rect = new Rectangle(0, 0, image.Width, image.Height); // RGBA format (dozvoljena providnost slike tj. alfa kanal) BitmapData imageData = image.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); gl.Build2DMipmaps(OpenGL.GL_TEXTURE_2D, (int)OpenGL.GL_RGBA8, image.Width, image.Height, OpenGL.GL_BGRA, OpenGL.GL_UNSIGNED_BYTE, imageData.Scan0); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MIN_FILTER, OpenGL.GL_LINEAR_MIPMAP_LINEAR); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MAG_FILTER, OpenGL.GL_LINEAR_MIPMAP_LINEAR); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_S, OpenGL.GL_REPEAT); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_T, OpenGL.GL_REPEAT); gl.Enable(OpenGL.GL_TEXTURE_GEN_S); gl.Enable(OpenGL.GL_TEXTURE_GEN_T); image.UnlockBits(imageData); image.Dispose(); } m_sceneCont.LoadScene(); m_sceneCont.Initialize(); m_sceneTruck.LoadScene(); m_sceneTruck.Initialize(); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.Enable(OpenGL.GL_COLOR_MATERIAL); //Uključiti color tracking mehanizam gl.ColorMaterial(OpenGL.GL_FRONT, OpenGL.GL_AMBIENT_AND_DIFFUSE); //Ambijentalna i difuzna komponenta materijala // InitLights(gl); //Tackasto, bele boje, gore-levo SetTackasto(gl); SetReflektor(gl); gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); gl.Color(1f, 1f, 1f); // Model sencenja na flat (konstantno) gl.ShadeModel(OpenGL.GL_FLAT); gl.Enable(OpenGL.GL_DEPTH_TEST); //Ukljuceno testiranje dubina //gl.Enable(OpenGL.GL_CULL_FACE_MODE); //Ukljuceno sakrivanje nevidljivih povrsina gl.Enable(OpenGL.GL_CULL_FACE); gl.FrontFace(OpenGL.GL_CCW); //stapanje teksture sa materijalom postaviti da bude GL_DECAL gl.Enable(OpenGL.GL_TEXTURE_2D); gl.TexEnv(OpenGL.GL_TEXTURE_ENV, OpenGL.GL_TEXTURE_ENV_MODE, OpenGL.GL_DECAL); //Za teksture podesiti wrapping da bude GL_REPEAT po obema osama //Podesiti filtere za teksture da budu linearno mipmap linearno filtriranje gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MIN_FILTER, OpenGL.GL_LINEAR_MIPMAP_LINEAR); // Linear mipmap Filtering gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MAG_FILTER, OpenGL.GL_LINEAR_MIPMAP_LINEAR); // Linear mipmap Filtering gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_S, OpenGL.GL_REPEAT); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_T, OpenGL.GL_REPEAT); gl.GenTextures(m_textureCount, m_textures); for (int i = 0; i < m_textureCount; ++i) { // Pridruzi teksturu odgovarajucem identifikatoru gl.BindTexture(OpenGL.GL_TEXTURE_2D, m_textures[i]); // Ucitaj sliku i podesi parametre teksture Bitmap image = new Bitmap(m_textureFiles[i]); // rotiramo sliku zbog koordinantog sistema opengl-a image.RotateFlip(RotateFlipType.RotateNoneFlipX); Rectangle rect = new Rectangle(0, 0, image.Width, image.Height); // RGBA format (dozvoljena providnost slike tj. alfa kanal) BitmapData imageData = image.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); gl.Build2DMipmaps(OpenGL.GL_TEXTURE_2D, (int)OpenGL.GL_RGBA8, image.Width, image.Height, OpenGL.GL_BGRA, OpenGL.GL_UNSIGNED_BYTE, imageData.Scan0); image.UnlockBits(imageData); image.Dispose(); } gl.Disable(OpenGL.GL_TEXTURE_2D); m_scene.LoadScene(); //Dartboard m_scene.Initialize(); m_scene2.LoadScene(); //Dart m_scene2.Initialize(); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.FrontFace(OpenGL.GL_CCW); gl.Enable(OpenGL.GL_CULL_FACE); gl.Enable(OpenGL.GL_DEPTH_TEST); gl.Enable(OpenGL.GL_TEXTURE_2D); gl.TexEnv(OpenGL.GL_TEXTURE_ENV, OpenGL.GL_TEXTURE_ENV_MODE, OpenGL.GL_MODULATE); gl.GenTextures(m_textureCount, m_textures); for (int i = 0; i < m_textureCount; ++i) { // Pridruzi teksturu odgovarajucem identifikatoru gl.BindTexture(OpenGL.GL_TEXTURE_2D, m_textures[i]); // Ucitaj sliku i podesi parametre teksture Bitmap image = new Bitmap(m_textureFiles[i]); // rotiramo sliku zbog koordinantog sistema opengl-a image.RotateFlip(RotateFlipType.RotateNoneFlipY); Rectangle rect = new Rectangle(0, 0, image.Width, image.Height); // RGBA format (dozvoljena providnost slike tj. alfa kanal) BitmapData imageData = image.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); gl.Build2DMipmaps(OpenGL.GL_TEXTURE_2D, (int)OpenGL.GL_RGBA8, image.Width, image.Height, OpenGL.GL_BGRA, OpenGL.GL_UNSIGNED_BYTE, imageData.Scan0); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MIN_FILTER, OpenGL.GL_NEAREST); // Linear Filtering gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MAG_FILTER, OpenGL.GL_NEAREST); // Linear Filtering gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_S, OpenGL.GL_REPEAT); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_T, OpenGL.GL_REPEAT); /* * gl.Enable(OpenGL.GL_TEXTURE_GEN_S); * gl.Enable(OpenGL.GL_TEXTURE_GEN_T); * * gl.Hint(OpenGL.GL_GENERATE_MIPMAP_SGIS, OpenGL.GL_NICEST); * gl.Hint(OpenGL.GL_PERSPECTIVE_CORRECTION_HINT, OpenGL.GL_NICEST); * gl.Hint(OpenGL.GL_POLYGON_SMOOTH_HINT, OpenGL.GL_NICEST); * gl.Hint(OpenGL.GL_TEXTURE_COMPRESSION_HINT, OpenGL.GL_NICEST); * gl.Hint(OpenGL.GL_LINE_SMOOTH_HINT, OpenGL.GL_NICEST); * gl.Hint(OpenGL.GL_POINT_SMOOTH_HINT, OpenGL.GL_NICEST);*/ image.UnlockBits(imageData); image.Dispose(); } SetupLighting(gl); m_scene.LoadScene(); m_scene.Initialize(); m_scene2.LoadScene(); m_scene2.Initialize(); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.Enable(OpenGL.GL_CULL_FACE); gl.Enable(OpenGL.GL_DEPTH_TEST); SetupAnimation(); SetupTexture(); m_scene.LoadScene(); m_scene.Initialize(); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); gl.Color(1f, 0f, 0f); gl.ShadeModel(OpenGL.GL_FLAT); gl.Enable(OpenGL.GL_DEPTH_TEST); gl.Enable(OpenGL.GL_CULL_FACE); m_scene.LoadScene(); m_scene.Initialize(); m_scene2.LoadScene(); m_scene2.Initialize(); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); gl.Color(1f, 0f, 0f); gl.ShadeModel(OpenGL.GL_FLAT); // Testiranje dubine gl.Enable(OpenGL.GL_DEPTH_TEST); // Nevidljive povrsine gl.Enable(OpenGL.GL_CULL_FACE_MODE); gl.Enable(OpenGL.GL_COLOR_MATERIAL); gl.ColorMaterial(OpenGL.GL_FRONT, OpenGL.GL_AMBIENT_AND_DIFFUSE); gl.Enable(OpenGL.GL_NORMALIZE); gl.Enable(OpenGL.GL_AUTO_NORMAL); gl.Enable(OpenGL.GL_TEXTURE_2D); gl.TexEnv(OpenGL.GL_TEXTURE_ENV, OpenGL.GL_TEXTURE_ENV_MODE, OpenGL.GL_ADD); gl.GenTextures(m_textureCount, m_textures); for (int i = 0; i < m_textureCount; i++) { // Pridruzi teksturu odgovarajucem identifikatoru gl.BindTexture(OpenGL.GL_TEXTURE_2D, m_textures[i]); Bitmap image = new Bitmap(m_textureFiles[i]); // Rotiramo sliku zbog koordinatnog sistema OpenGL-a image.RotateFlip(RotateFlipType.Rotate90FlipX); Rectangle rect = new Rectangle(0, 0, image.Width, image.Height); // RGBA format (dozvoljava providnost slike) BitmapData imageData = image.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); //MipMap linearno filtriranje gl.Build2DMipmaps(OpenGL.GL_TEXTURE_2D, (int)OpenGL.GL_RGBA8, image.Width, image.Height, OpenGL.GL_BGRA, OpenGL.GL_UNSIGNED_BYTE, imageData.Scan0); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MIN_FILTER, OpenGL.GL_LINEAR); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MAG_FILTER, OpenGL.GL_LINEAR); // Podesavanje Wrapinga da bude GL_REPEAT po obema osama gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_S, OpenGL.GL_REPEAT); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_T, OpenGL.GL_REPEAT); image.UnlockBits(imageData); image.Dispose(); } m_scene.LoadScene(); m_scene.Initialize(); animationTimer = new DispatcherTimer(); animationTimer.Interval = TimeSpan.FromMilliseconds(1); animationTimer.Tick += new EventHandler(ChangeAnimation); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); gl.Color(1f, 0f, 0f); // Model sencenja na flat (konstantno) gl.ShadeModel(OpenGL.GLU_SMOOTH); gl.Enable(OpenGL.GL_DEPTH_TEST); gl.Enable(OpenGL.GL_CULL_FACE); LoadTexture(gl); m_scene.LoadScene(); m_scene.Initialize(); m_arrow.LoadScene(); m_arrow.Initialize(); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); gl.Color(1f, 0f, 0f); UkljuciTestiranjeDubine(gl); UkljuciSakrivanjeNevidljivihPovrsina(gl); PodesiOsvetljenje(gl); DefinisiTajmereAnimacija(); PodesiTeksture(gl); m_scene_arrow.LoadScene(); m_scene_arrow.Initialize(); m_scene_castle.LoadScene(); m_scene_castle.Initialize(); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { LoadTexture(gl); gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); gl.Color(1f, 0f, 0f); gl.Enable(OpenGL.GL_DEPTH_TEST); gl.Enable(OpenGL.GL_CULL_FACE_MODE); SetupLighting(gl); // Ukljucivanje color-tracking mehanizma gl.Enable(OpenGL.GL_COLOR_MATERIAL); gl.ColorMaterial(OpenGL.GL_FRONT, OpenGL.GL_AMBIENT_AND_DIFFUSE); m_scene.LoadScene(); m_scene.Initialize(); animationTimer = new System.Windows.Threading.DispatcherTimer(); animationTimer.Interval = TimeSpan.FromMilliseconds(5); animationTimer.Tick += new EventHandler(UpdateAnimation); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.ClearColor(1, 1, 1, 1.0f); // gl.Color(1f, 0f, 0f); gl.Enable(OpenGL.GL_DEPTH_TEST); gl.Enable(OpenGL.GL_COLOR_MATERIAL); gl.ShadeModel(OpenGL.GL_SMOOTH); gl.Enable(OpenGL.GL_CULL_FACE); SetupLighting(gl); SetupTextures(gl); m_scene.LoadScene(); m_scene.Initialize(); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); gl.Color(1f, 0f, 0f); // Model sencenja na flat (konstantno) gl.ShadeModel(OpenGL.GL_FLAT); gl.Enable(OpenGL.GL_DEPTH_TEST); gl.Enable(OpenGL.GL_CULL_FACE); SetupLighting0(gl); FormTexture(gl); m_scene.LoadScene(); m_scene.Initialize(); m_scene2.LoadScene(); m_scene2.Initialize(); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); gl.Color(1f, 0f, 0f); gl.Enable(OpenGL.GL_CULL_FACE); gl.Enable(OpenGL.GL_DEPTH_TEST); m_scene.LoadScene(); m_scene.Initialize(); gl.Enable(OpenGL.GL_COLOR_MATERIAL); gl.ColorMaterial(OpenGL.GL_FRONT, OpenGL.GL_AMBIENT_AND_DIFFUSE); InitializeTextures(gl); InitLights(gl); AutomaticAnimation(); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); //gl.Color(1f, 0f, 0f); gl.Enable(OpenGL.GL_DEPTH_TEST); gl.Enable(OpenGL.GL_CULL_FACE); //kolor tracking gl.Enable(OpenGL.GL_COLOR_MATERIAL); gl.ColorMaterial(OpenGL.GL_FRONT, OpenGL.GL_AMBIENT_AND_DIFFUSE); gl.Enable(OpenGL.GL_NORMALIZE); gl.Enable(OpenGL.GL_AUTO_NORMAL); m_scene.LoadScene(); m_scene.Initialize(); LoadTextures(gl); SetupLighting(gl); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); gl.Color(1f, 1f, 1f); gl.Enable(OpenGL.GL_DEPTH_TEST); // culling(sakrivanje nevidljivih povrsina) gl.Enable(OpenGL.GL_CULL_FACE); // test dubine gl.Enable(OpenGL.GL_TEXTURE); m_scene.LoadScene(); m_scene.Initialize(); gl.Enable(OpenGL.GL_NORMALIZE); //normalizuj normale (2) gl.Enable(OpenGL.GL_COLOR_MATERIAL); // Color Tracking II (1) gl.ColorMaterial(OpenGL.GL_FRONT, OpenGL.GL_AMBIENT_AND_DIFFUSE); // Ambijentalna i difuzna komponenta. II (1) SetupLighing(gl); // Svetlost SetupTextures(gl); // Teksture }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); gl.Color(1f, 0f, 0f); // Model sencenja na flat (konstantno) gl.ShadeModel(OpenGL.GL_FLAT); gl.Enable(OpenGL.GL_DEPTH_TEST); gl.Enable(OpenGL.GL_CULL_FACE); SetLights(gl); SetTextures(gl); gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); // podesi boju za brisanje ekrana na crnu m_scene.LoadScene(); m_scene.Initialize(); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.ClearColor(0.8f, 0.9f, 0.95f, 0.5f); // Model sencenja na flat (konstantno) gl.Enable(OpenGL.GL_DEPTH_TEST); gl.Enable(OpenGL.GL_CULL_FACE); SetupLighting(gl); SetupTexture(gl); gl.FrontFace(OpenGL.GL_CCW); m_scene.LoadScene(); m_scene.Initialize(); scaleBall = 20; rotateBall = 0; gore = true; dole = false; count = 0; zoom = 0; shooting = false; step = 1; main = null; }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); gl.Enable(OpenGL.GL_DEPTH_TEST); gl.Enable(OpenGL.GL_CULL_FACE); m_scene.LoadScene(); m_scene.Initialize(); //DRUGA TACKA gl.Enable(OpenGL.GL_NORMALIZE); // normalizacija nad normalama gl.Enable(OpenGL.GL_COLOR_MATERIAL); //color tracking mehanizam gl.ColorMaterial(OpenGL.GL_FRONT, OpenGL.GL_AMBIENT_AND_DIFFUSE); //gl color ambijentalna i difuzna komponenta materijala //TEKSTURE InitializeTextures(gl); //SVETLA Lighting(gl); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { #region osvetljenje gl.Enable(OpenGL.GL_LIGHTING); float[] ambijentalnaKomponenta = { 0.1f, 0.1f, 0.1f, 1.0f }; float[] difuznaKomponenta = { 0.1f, 0.1f, 0.1f, 1.0f }; float[] spekularnaKomponenta = { 0.3f, 0.3f, 0.3f, 1 }; float[] smer = { 0.0f, 0.0f, -1.0f }; // Pridruži komponente svetlosnom izvoru 0 gl.Light(OpenGL.GL_LIGHT0, OpenGL.GL_AMBIENT, ambijentalnaKomponenta); gl.Light(OpenGL.GL_LIGHT0, OpenGL.GL_DIFFUSE, difuznaKomponenta); gl.Light(OpenGL.GL_LIGHT0, OpenGL.GL_SPECULAR, spekularnaKomponenta); // Podesi parametre izvora gl.Light(OpenGL.GL_LIGHT0, OpenGL.GL_SPOT_DIRECTION, smer); gl.Light(OpenGL.GL_LIGHT0, OpenGL.GL_SPOT_CUTOFF, 180.0f); //tackasti je refl sa cutoff 180 gl.Light(OpenGL.GL_LIGHT0, OpenGL.GL_LINEAR_ATTENUATION, 0.5f); //Sa ADD stapanjem s materijalom svetlost je bila prejaka. Ovako sam oslabila svetlo // Ukljuci svetlosni izvor gl.Enable(OpenGL.GL_LIGHT0); float[] pozicija = { 200.0f, 550.0f, 0, 1.0f }; //x,y,z,w gde je 1 poziciono svetlo. Visok izvor za vise slabljenja i manje jako svetlo gl.Light(OpenGL.GL_LIGHT0, OpenGL.GL_POSITION, pozicija); float[] ambijentalnaKomponenta2 = { Rvalue, Gvalue, Bvalue, 1.0f }; float[] difuznaKomponenta2 = { 0.1f, 0.1f, 0.1f, 1.0f }; // float[] spekularnaKomponenta2 = { 0.1f, 0.1f, 0.1f, 1 }; float[] smer2 = { 0f, -1f, 0f }; gl.Light(OpenGL.GL_LIGHT1, OpenGL.GL_AMBIENT, ambijentalnaKomponenta2); gl.Light(OpenGL.GL_LIGHT1, OpenGL.GL_DIFFUSE, difuznaKomponenta2); //gl.Light(OpenGL.GL_LIGHT1, OpenGL.GL_SPECULAR, //spekularnaKomponenta); // Podesi parametre izvora gl.Light(OpenGL.GL_LIGHT1, OpenGL.GL_SPOT_DIRECTION, smer2); gl.Light(OpenGL.GL_LIGHT1, OpenGL.GL_SPOT_CUTOFF, 30.0f); //tackasti je refl sa cutoff 180 // Ukljuci svetlosni izvor gl.Enable(OpenGL.GL_LIGHT1); float[] pozicija2 = { polozajX, 150.0f, -m_sceneDistance + 25, 1.0f }; //x,y,z,w gde je 1 gl.Light(OpenGL.GL_LIGHT1, OpenGL.GL_POSITION, pozicija2); // Uikljuci color tracking mehanizam gl.Enable(OpenGL.GL_COLOR_MATERIAL); // Podesi na koje parametre materijala se odnose pozivi glColor funkcije gl.ColorMaterial(OpenGL.GL_FRONT, OpenGL.GL_AMBIENT_AND_DIFFUSE); // Ukljuci automatsku normalizaciju nad normalama gl.Enable(OpenGL.GL_NORMALIZE); #endregion osvetljenje #region teksture gl.Enable(OpenGL.GL_TEXTURE_2D); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MIN_FILTER, OpenGL.GL_LINEAR); // Linear Filtering gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MAG_FILTER, OpenGL.GL_LINEAR); // Linear Filtering gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_S, OpenGL.GL_REPEAT); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_T, OpenGL.GL_REPEAT); gl.TexEnv(OpenGL.GL_TEXTURE_ENV, OpenGL.GL_TEXTURE_ENV_MODE, OpenGL.GL_ADD); m_textures = new uint[m_textureCount]; // Ucitaj slike i kreiraj teksture gl.GenTextures(m_textureCount, m_textures); for (int i = 0; i < m_textureCount; ++i) { // Pridruzi teksturu odgovarajucem identifikatoru gl.BindTexture(OpenGL.GL_TEXTURE_2D, m_textures[i]); // Ucitaj sliku i podesi parametre teksture Bitmap image = new Bitmap(m_textureFiles[i]); // rotiramo sliku zbog koordinantog sistema opengl-a image.RotateFlip(RotateFlipType.RotateNoneFlipY); Rectangle rect = new Rectangle(0, 0, image.Width, image.Height); // RGBA format (dozvoljena providnost slike tj. alfa kanal) BitmapData imageData = image.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); gl.Build2DMipmaps(OpenGL.GL_TEXTURE_2D, (int)OpenGL.GL_RGBA8, image.Width, image.Height, OpenGL.GL_BGRA, OpenGL.GL_UNSIGNED_BYTE, imageData.Scan0); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MIN_FILTER, OpenGL.GL_LINEAR); // Linear Filtering gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MAG_FILTER, OpenGL.GL_LINEAR); // Linear Filtering image.UnlockBits(imageData); image.Dispose(); } #endregion teksture // Model sencenja na flat (konstantno) gl.ShadeModel(OpenGL.GL_SMOOTH); m_scene.LoadScene(); m_scene.Initialize(); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); // Model sencenja na flat (konstantno) gl.ShadeModel(OpenGL.GL_SMOOTH); //Depth test ukljucen gl.Enable(OpenGL.GL_DEPTH_TEST); //Sakrivanje nevidljivih povrsina gl.Enable(OpenGL.GL_CULL_FACE); //Podesavanje orijentacije poligona gl.FrontFace(OpenGL.GL_CW); //Osvetljenje float[] light0pos = new float[] { 150f, 150f, -45f, 1f }; float[] light0ambient = new float[] { 0.576471f, 0.858824f, 0.439216f, 1.0f }; float[] light0diffuse = new float[] { 0.576471f, 0.858824f, 0.439216f, 1.0f }; float[] light0specular = new float[] { 1.0f, 1.0f, 1.0f, 1.0f }; gl.Light(OpenGL.GL_LIGHT0, OpenGL.GL_POSITION, light0pos); gl.Light(OpenGL.GL_LIGHT0, OpenGL.GL_AMBIENT, light0ambient); gl.Light(OpenGL.GL_LIGHT0, OpenGL.GL_DIFFUSE, light0diffuse); gl.Light(OpenGL.GL_LIGHT0, OpenGL.GL_SPECULAR, light0specular); gl.Light(OpenGL.GL_LIGHT0, OpenGL.GL_SPOT_CUTOFF, 180f); //tackasti svetlosni izvor gl.Enable(OpenGL.GL_LIGHT0); float[] light1pos = new float[] { 40.0f, 1550.0f, -5050.0f, 1f }; float[] light1ambient = new float[] { 1f, 0f, 0f, 1.0f }; float[] light1diffuse = new float[] { 1.0f, 0.0f, 0f, 1.0f }; float[] light1specular = new float[] { 1.0f, 0.0f, 0.0f, 1.0f }; float[] light1direction = new float[] { 40.0f, 43.0f, -5050.0f, 0f }; gl.Light(OpenGL.GL_LIGHT1, OpenGL.GL_POSITION, light1pos); gl.Light(OpenGL.GL_LIGHT1, OpenGL.GL_SPOT_DIRECTION, light1direction); //reflektorski izvor svetlosti gl.Light(OpenGL.GL_LIGHT1, OpenGL.GL_SPECULAR, light1specular); gl.Light(OpenGL.GL_LIGHT1, OpenGL.GL_DIFFUSE, light1diffuse); gl.Light(OpenGL.GL_LIGHT1, OpenGL.GL_AMBIENT, light1ambient); gl.Light(OpenGL.GL_LIGHT1, OpenGL.GL_SPOT_CUTOFF, 40f); gl.Enable(OpenGL.GL_LIGHT1); //Ulazak u color tracking rezim gl.Enable(OpenGL.GL_COLOR_MATERIAL); gl.ColorMaterial(OpenGL.GL_FRONT, OpenGL.GL_AMBIENT_AND_DIFFUSE); //ambijentalna i difuzna komponenta materijala gl.Enable(OpenGL.GL_LIGHTING); gl.Enable(OpenGL.GL_NORMALIZE); //ulazak u rezim rada sa teksturama gl.Enable(OpenGL.GL_TEXTURE_2D); // Ucitaj slike i kreiraj teksture gl.GenTextures(m_textureCount, m_textures); for (int i = 0; i < m_textureCount; ++i) { // Pridruzi teksturu odgovarajucem identifikatoru gl.BindTexture(OpenGL.GL_TEXTURE_2D, m_textures[i]); // Ucitaj sliku i podesi parametre teksture Bitmap image = new Bitmap(m_textureFiles[i]); // rotiramo sliku zbog koordinantog sistema opengl-a image.RotateFlip(RotateFlipType.RotateNoneFlipY); Rectangle rect = new Rectangle(0, 0, image.Width, image.Height); // RGBA format (dozvoljena providnost slike tj. alfa kanal) BitmapData imageData = image.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); gl.Build2DMipmaps(OpenGL.GL_TEXTURE_2D, (int)OpenGL.GL_RGBA8, image.Width, image.Height, OpenGL.GL_BGRA, OpenGL.GL_UNSIGNED_BYTE, imageData.Scan0); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_S, OpenGL.GL_REPEAT); //repeat po obe ose gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_T, OpenGL.GL_REPEAT); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MIN_FILTER, OpenGL.GL_NEAREST); //najblizi sused filtriranje gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MAG_FILTER, OpenGL.GL_NEAREST); //najblizi sused filtriranje gl.TexEnv(OpenGL.GL_TEXTURE_ENV, OpenGL.GL_TEXTURE_ENV_MODE, OpenGL.GL_ADD); //stapanje teksture sa materijalom image.UnlockBits(imageData); image.Dispose(); } m_scene.LoadScene(); m_scene.Initialize(); }
/// <summary> /// Korisnicka inicijalizacija i podesavanje OpenGL parametara. /// </summary> public void Initialize(OpenGL gl) { // Stavka 1 gl.Enable(OpenGL.GL_COLOR_MATERIAL); gl.ColorMaterial(OpenGL.GL_FRONT, OpenGL.GL_AMBIENT_AND_DIFFUSE); // Stavka 2 - Tackasti izvor zute boje SetupLighting(gl); sphereLamp = new Sphere(); sphereLamp.CreateInContext(gl); sphereLamp.Radius = 3f; sphereLamp.Material = new SharpGL.SceneGraph.Assets.Material(); //sphereLamp.Material.Emission = Color.LightYellow; sijalica = new Sphere(); sijalica.CreateInContext(gl); sijalica.Radius = 2f; sijalica.Material = new SharpGL.SceneGraph.Assets.Material(); //sijalica.Material.Emission = Color.Red; // Crna pozadina i bela boja za crtanje gl.ClearColor(0.0f, 0.0f, 0.0f, 1.0f); gl.Color(1f, 1f, 1f); // Model sencenja na flat (konstantno) gl.ShadeModel(OpenGL.GL_FLAT); gl.Enable(OpenGL.GL_DEPTH_TEST); gl.Enable(OpenGL.GL_CULL_FACE); gl.FrontFace(OpenGL.GL_CCW); // Stavka 3 - Teksture // Teksture se primenjuju sa parametrom decal gl.Enable(OpenGL.GL_TEXTURE_2D); gl.TexEnv(OpenGL.GL_TEXTURE_ENV, OpenGL.GL_TEXTURE_ENV_MODE, OpenGL.GL_DECAL); //Ucitaj slike i kreiraj teksture gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MIN_FILTER, OpenGL.GL_LINEAR_MIPMAP_LINEAR); // Linear mipmap Filtering gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_MAG_FILTER, OpenGL.GL_LINEAR_MIPMAP_LINEAR); // Linear mipmap Filtering gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_S, OpenGL.GL_REPEAT); gl.TexParameter(OpenGL.GL_TEXTURE_2D, OpenGL.GL_TEXTURE_WRAP_T, OpenGL.GL_REPEAT); gl.GenTextures(m_textureCount, m_textures); for (int i = 0; i < m_textureCount; ++i) { // Pridruzi teksturu odgovarajucem identifikatoru gl.BindTexture(OpenGL.GL_TEXTURE_2D, m_textures[i]); // Ucitaj sliku i podesi parametre teksture Bitmap image = new Bitmap(m_textureFiles[i]); // rotiramo sliku zbog koordinantog sistema opengl-a image.RotateFlip(RotateFlipType.RotateNoneFlipX); Rectangle rect = new Rectangle(0, 0, image.Width, image.Height); // RGBA format (dozvoljena providnost slike tj. alfa kanal) BitmapData imageData = image.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadOnly, System.Drawing.Imaging.PixelFormat.Format32bppArgb); gl.Build2DMipmaps(OpenGL.GL_TEXTURE_2D, (int)OpenGL.GL_RGBA8, image.Width, image.Height, OpenGL.GL_BGRA, OpenGL.GL_UNSIGNED_BYTE, imageData.Scan0); image.UnlockBits(imageData); image.Dispose(); } gl.Disable(OpenGL.GL_TEXTURE_2D); m_scene.LoadScene(); //Tabla m_scene.Initialize(); m_scene2.LoadScene(); //Strelica m_scene2.Initialize(); }