private void button1_Click(object sender, EventArgs e) { Glut.glutInitDisplayMode(Glut.GLUT_DOUBLE | Glut.GLUT_RGB); Glut.glutInitWindowSize(500, 500); Glut.glutCreateWindow("Чайник"); Gl.glShadeModel(Gl.GL_SMOOTH);//Установите модель затенения Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT); Gl.glEnable(Gl.GL_LIGHTING); Gl.glEnable(Gl.GL_LIGHT0); float[] light_pos = new float[3] { 1, 0.5F, 1 }; Gl.glLightfv(Gl.GL_LIGHT0, Gl.GL_POSITION, light_pos); Gl.glClearDepth(1.0f); //Установите значение буфера глубины (ranges[0,1]) Gl.glEnable(Gl.GL_DEPTH_TEST); //Включить тест глубины Gl.glDepthFunc(Gl.GL_LEQUAL); //Если два объекта с одинаковыми координатами показывают первый нарисованный Gl.glClearColor(255, 255, 255, 1); Gl.glHint(Gl.GL_PERSPECTIVE_CORRECTION_HINT, Gl.GL_NICEST); Glut.glutReshapeFunc(reshape); //Изменение размеров окна Glut.glutDisplayFunc(render); //Функция перерисовки окна // Установить обратный вызов ключа окна Glut.glutKeyboardFunc(new Glut.KeyboardCallback(keyboard)); // Установите для окна специальный обратный вызов Glut.glutSpecialFunc(new Glut.SpecialCallback(specialKey)); // Установить окна для обратного вызова движения мыши Glut.glutMouseWheelFunc(new Glut.MouseWheelCallback(processMouseWheel)); Glut.glutMainLoop(); }
static void Main(string[] args) { int w = 400; int h = 400; Glut.glutInit(); Gl.glEnable(Gl.GL_DEPTH_TEST); Glut.glutInitDisplayMode(Glut.GLUT_DEPTH | Glut.GLUT_SINGLE | Glut.GLUT_RGB); Glut.glutInitWindowSize(w, h); Glut.glutInitWindowPosition(400, 300); Glut.glutCreateWindow("Pradzia"); Init(); Glut.glutDisplayFunc(new Glut.DisplayCallback(Vaizdavimas)); Glut.glutSpecialFunc(new Glut.SpecialCallback(Klaviatura)); Glut.glutCreateMenu(new Glut.CreateMenuCallback(Menu)); Glut.glutReshapeFunc(new Glut.ReshapeCallback(Perpiesti)); Glut.glutAddMenuEntry("Difuse", 1); Glut.glutAddMenuEntry("Specular", 2); Glut.glutAddMenuEntry("Ambient", 3); Glut.glutAddMenuEntry("Du sviesos saltiniai", 4); Glut.glutAddMenuEntry("+45 laipsniai X", 5); Glut.glutAddMenuEntry("-45 laipsniai X", 6); Glut.glutAddMenuEntry("Pabaiga", 9); Glut.glutAttachMenu(Glut.GLUT_RIGHT_BUTTON); Glut.glutMainLoop(); }
static void Main(string[] args) { try { init(); Glut.glutDisplayFunc(Draw); Glut.glutReshapeFunc(reshape); Glut.glutKeyboardFunc(new Glut.KeyboardCallback(pressKey)); Glut.glutSpecialFunc(new Glut.SpecialCallback(specialKey)); Glut.glutIgnoreKeyRepeat(1); Glut.glutKeyboardUpFunc(new Glut.KeyboardUpCallback(releaseKey)); Glut.glutTimerFunc(33, on_timer, 0); Glut.glutMainLoop(); } catch (FileReadException e) { Console.WriteLine(e.exception); } catch { Console.WriteLine("Some unknow expection...=("); } }
public Avatar(GlControl ViewPort, GlObject World) { camera = new Camera(origin, center, up); this.World = World; this.ViewPort = ViewPort; Glut.glutKeyboardFunc(new Glut.KeyboardCallback(keymove)); Glut.glutSpecialFunc(new Glut.SpecialCallback(specialKeyMove)); Glut.glutSpecialUpFunc(new Glut.SpecialUpCallback(specialKeyUp)); Glut.glutMouseFunc(new Glut.MouseCallback(this.MouseFunc)); }
static void Main(string[] args) { Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_SINGLE | Glut.GLUT_RGB); Glut.glutInitWindowSize(800, 400); Glut.glutInitWindowPosition(100, 100); Glut.glutCreateWindow("Sobrevivendo"); Inicializa(); Glut.glutDisplayFunc(DesenhaJogo); Glut.glutSpecialFunc(Mover); Glut.glutTimerFunc(100, Timer, 1); Glut.glutMainLoop(); }
public static void Execute() { Glut.glutInit(); Glut.glutInitWindowPosition(100, 100); Glut.glutInitDisplayMode(Glut.GLUT_DOUBLE | Glut.GLUT_RGBA | Glut.GLUT_DEPTH); Glut.glutInitWindowSize(width, height); Glut.glutCreateWindow("OpenGL Task1"); Glut.glutDisplayFunc(RenderWireCube); Glut.glutIdleFunc(RenderWireCube); Glut.glutSpecialFunc(specialKeys); Init(); Glut.glutMainLoop(); }
// Programa Principal static void Main() { Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_DOUBLE | Glut.GLUT_RGB | Glut.GLUT_DEPTH); Glut.glutInitWindowSize(400, 350); Glut.glutCreateWindow("Visualizacao C#"); Glut.glutDisplayFunc(Desenha); Glut.glutReshapeFunc(AlteraTamanhoJanela); Glut.glutSpecialFunc(SpecialKeys); Glut.glutMouseFunc(GerenciaMouse); Inicializa(); Glut.glutMainLoop(); }
static void Main() { Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_DEPTH | Glut.GLUT_DOUBLE | Glut.GLUT_RGB); Glut.glutInitWindowSize(1980, 1600); Glut.glutCreateWindow("Basquete"); Gl.glEnable(Gl.GL_DEPTH_TEST); Glut.glutDisplayFunc(Desenha); Glut.glutReshapeFunc(AlteraTamanhoJanela); Glut.glutSpecialFunc(SpecialKeys); Inicializa(); Glut.glutMainLoop(); }
static void RegisterFuncs() { int[] sceneKeys = { Glut.GLUT_KEY_UP, Glut.GLUT_KEY_DOWN, Glut.GLUT_KEY_LEFT, Glut.GLUT_KEY_RIGHT }; int[] airplaneKeys = { Glut.GLUT_KEY_F1, Glut.GLUT_KEY_F2, Glut.GLUT_KEY_F3, Glut.GLUT_KEY_F4 }; int[] towerskeys = { Glut.GLUT_KEY_F5 }; KeyboardHandler.RegisterMethod(scene.KeyboardHandler, sceneKeys); KeyboardHandler.RegisterMethod(airplane.KeyboardHandler, airplaneKeys); KeyboardHandler.RegisterMethod(Scene.towersGroup.KeyboardHandler, towerskeys); Glut.glutPassiveMotionFunc(airplane.MouseHandler); Glut.glutSpecialFunc(KeyboardHandler.Handler); }
static void Main(string[] args) { Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_SINGLE | Glut.GLUT_RGB); Glut.glutInitWindowSize(600, 600); Glut.glutInitWindowPosition(100, 100); Glut.glutCreateWindow("Projeto"); Inicializa(); Glut.glutDisplayFunc(Desenha); Glut.glutSpecialFunc(Teclasnave); Glut.glutTimerFunc(300, moverAsteroid, 1); Glut.glutMainLoop(); }
public void SetMainLoop() { //отлов действий пользователя Glut.glutMotionFunc(ClickedMotion); Glut.glutMouseFunc(Mouse); Glut.glutPassiveMotionFunc(PassiveMotion); Glut.glutKeyboardFunc(Key); Glut.glutKeyboardUpFunc(KeyUp); Glut.glutSpecialFunc(KeySpecial); Glut.glutSpecialUpFunc(KeySpecialUp); //старт игрового цикла Glut.glutTimerFunc(Config.TimePerFrame, MainProcess, 0); Glut.glutMainLoop(); }
static void Main() { Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_SINGLE | Glut.GLUT_RGB); Glut.glutInitWindowSize(650, 650); Glut.glutInitWindowPosition(100, 100); Glut.glutCreateWindow("Tiro ao Alvo"); Glut.glutDisplayFunc(desenha); Glut.glutSpecialFunc(Mover); Glut.glutKeyboardFunc(new Glut.KeyboardCallback(Teclado)); //Chama as funcoes do teclado Glut.glutTimerFunc(100, Timer, 1); Glut.glutTimerFunc(1000, TimerLuz, 1); inicializa(); Glut.glutMainLoop(); }
static void Main(string[] args) { Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_DEPTH | Glut.GLUT_DOUBLE | Glut.GLUT_RGB); Glut.glutInitWindowSize(600, 600); Glut.glutInitWindowPosition(100, 100); Glut.glutCreateWindow("Desvie dos obstaculos"); Inicializa(); Gl.glEnable(Gl.GL_DEPTH_TEST); Glut.glutDisplayFunc(Desenha); Glut.glutSpecialFunc(TeclasBola); Glut.glutTimerFunc(50, MoverPedra, 1); luz(); Glut.glutMainLoop(); }
private static void InitializeGlut() { Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_DOUBLE | Glut.GLUT_DEPTH); Glut.glutInitWindowSize(ConfigurationHandler.WindowWidth, ConfigurationHandler.WindowHeight); Glut.glutCreateWindow("Tetris"); Glut.glutFullScreen(); Glut.glutIdleFunc(OnRenderFrame); Glut.glutDisplayFunc(OnDisplay); Glut.glutCloseFunc(OnClose); Glut.glutKeyboardFunc(KeyboardManager.OnKeyboardDown); Glut.glutSpecialFunc(KeyboardManager.OnSpecialKeyboardDown); Glut.glutSpecialUpFunc(KeyboardManager.OnSpecialKeyboardUp); }
static void Main(string[] args) { Glut.glutInit(); Initialisation_3D(); Glut.glutReshapeFunc(On_Changement_Taille_Fenetre); Glut.glutDisplayFunc(Afficher_Ma_Scene); Glut.glutKeyboardFunc(Gestion_Clavier); Glut.glutSpecialFunc(Gestion_Touches_Speciales); Glut.glutIdleFunc(Animation_Scene); Glut.glutMouseFunc(Gestion_Bouton_Souris); Glut.glutMouseWheelFunc(Gestion_Molette); Glut.glutPassiveMotionFunc(Gestion_Souris_Libre); Glut.glutMotionFunc(Gestion_Souris_Clique); Initialisation_Animation(); Glut.glutMainLoop(); }
static void Main() { Console.WriteLine("Para iniciar o jogo pressione F1!\n"); Console.Write("Digite seu nome: "); jogador = Console.ReadLine(); Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_DEPTH | Glut.GLUT_DOUBLE | Glut.GLUT_RGB); Glut.glutCreateWindow("Boat Escape"); Glut.glutTimerFunc(clock, Timer, 1); inicializa(); Gl.glEnable(Gl.GL_DEPTH_TEST); Glut.glutDisplayFunc(desenha); Glut.glutSpecialFunc(TeclasEspeciais); Glut.glutMainLoop(); }
static void Main() { Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_SINGLE | Glut.GLUT_RGB); Glut.glutInitWindowSize(500, 300); Glut.glutInitWindowPosition(10, 10); Glut.glutCreateWindow("PONG"); Inicializa(); Glut.glutPassiveMotionFunc(rend.MoveMouse); Glut.glutTimerFunc(33, Timer, 1); Glut.glutDisplayFunc(rend.Desenha); Glut.glutReshapeFunc(AlteraTamanhoJanela); Glut.glutKeyboardFunc(evento.GerenciaTeclado); Glut.glutSpecialFunc(TeclasEspeciais); Glut.glutMainLoop(); }
static int pontoJogador2 = 0; // Contador pontos jogador2.@@ #endregion static void Main(string[] args) { Console.Write("Futebol 2D"); Console.WriteLine("Informe o nome do Primeiro Jogador: "); jogador1 = Console.ReadLine(); Console.WriteLine("Informe o nome do segundo jogador: "); jogador2 = Console.ReadLine(); Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_SINGLE | Glut.GLUT_RGB); Glut.glutInitWindowSize(800, 400); Glut.glutInitWindowPosition(100, 100); Glut.glutCreateWindow("Copa do Mundo"); inicialize(); Glut.glutDisplayFunc(desenhar); Glut.glutSpecialFunc(moverGoleiroBrasil); Glut.glutKeyboardFunc(new Glut.KeyboardCallback(moverGoleiroAlemanha)); Glut.glutTimerFunc(100, Timer, 1); Glut.glutMainLoop(); }
static void Main(string[] args) { Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_DEPTH | Glut.GLUT_RGB | Glut.GLUT_DOUBLE | Glut.GLUT_MULTISAMPLE); Glut.glutInitWindowPosition(50, 50); Glut.glutInitWindowSize(w_win, h_win); Glut.glutCreateWindow("FTGL TEST"); Glut.glutDisplayFunc(display); Glut.glutKeyboardFunc(parsekey); Glut.glutSpecialFunc(parseSpecialKey); Glut.glutMouseFunc(mouse); Glut.glutMotionFunc(motion); Glut.glutReshapeFunc(myReshape); Glut.glutIdleFunc(display); myinit(); mytest(); Glut.glutMainLoop(); }
static void Main(string[] args) { Glut.glutInit(); Glut.glutInitWindowPosition(100, 100); Glut.glutInitDisplayMode(Glut.GLUT_RGB | Glut.GLUT_DOUBLE | Glut.GLUT_DEPTH); Glut.glutInitWindowSize(width, height); Glut.glutCreateWindow("OpenGL Less2"); Init(); Glut.glutDisplayFunc(DisplayScene); Glut.glutIdleFunc(DisplayScene); /*Glut.glutDisplayFunc(drawSnowMan); * Glut.glutIdleFunc(drawSnowMan);*/ /*Glut.glutDisplayFunc(Test.RenderWireSphere); * Glut.glutIdleFunc(Test.RenderWireSphere);*/ /*Glut.glutDisplayFunc(Test.Display); * Glut.glutIdleFunc(Test.Display);*/ Glut.glutSpecialFunc(processSpecialKeys); Glut.glutKeyboardFunc(processNormalKeys); Glut.glutMainLoop(); }
public static void Init() { Keys = new bool[255]; KeysTyped = new bool[255]; SpecialKeys = new bool[255]; Mouse = new bool[3]; KeysTypedCooldown = new CooldownTimer[255]; for (int i = 0; i < KeysTypedCooldown.Length; i++) { KeysTypedCooldown[i] = new CooldownTimer(3); } Glut.glutKeyboardFunc(OnKeyboardDown); Glut.glutKeyboardUpFunc(OnKeyboardUp); Glut.glutSpecialFunc(OnSpecialDown); Glut.glutSpecialUpFunc(OnSpecialUp); Glut.glutMouseFunc(OnMousePress); Glut.glutMotionFunc(OnMouseMove); Glut.glutPassiveMotionFunc(OnMouseMove); Glut.glutMouseWheelFunc(OnMouseScroll); }
public static void Main(string[] args) { Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_DEPTH | Glut.GLUT_DOUBLE | Glut.GLUT_MULTISAMPLE | Glut.GLUT_RGBA); Glut.glutInitWindowSize(800, 600); Glut.glutInitWindowPosition(50, 50); Glut.glutCreateWindow("Maiden"); Glut.glutDisplayFunc(new Glut.DisplayCallback(Display)); Glut.glutKeyboardFunc(new Glut.KeyboardCallback(Keyboard)); Glut.glutIdleFunc(new Glut.IdleCallback(Idle)); Glut.glutReshapeFunc(new Glut.ReshapeCallback(Reshape)); Glut.glutSpecialFunc(new Glut.SpecialCallback(Special)); Glut.glutCreateMenu(new Glut.CreateMenuCallback(Menu)); Glut.glutAddMenuEntry("Toggle texture mapping", (int)'t'); Glut.glutAddMenuEntry("Toggle texture mode", (int)'m'); Glut.glutAddMenuEntry("Toggle filter mode", (int)'f'); Glut.glutAddMenuEntry("Toggle performance", (int)'p'); Glut.glutAddMenuEntry("Toggle background", (int)'b'); Glut.glutAddMenuEntry("Toggle animation", (int)' '); Glut.glutAddMenuEntry("Toggle culling", (int)'c'); Glut.glutAddMenuEntry("Toggle stars", (int)'*'); Glut.glutAddMenuEntry("Time full frame (no swap)", (int)'n'); Glut.glutAddMenuEntry("Print pixels/frame", (int)'r'); Glut.glutAddMenuEntry("", 0); Glut.glutAddMenuEntry("> and < keys change # of textures", 0); Glut.glutAddMenuEntry("Arrows up/down change level of detail", 0); Glut.glutAddMenuEntry("Arrows right/left change # of spheres", 0); Glut.glutAddMenuEntry("1-4 keys change background image", 0); Glut.glutAddMenuEntry("", 0); Glut.glutAddMenuEntry("Quit", (int)'r'); Glut.glutAttachMenu(Glut.GLUT_RIGHT_BUTTON); Init(); LoadTextures(); Glut.glutMainLoop(); }
static void Main(string[] args) //programos vykdymo pradžia { // Glut.glutInit(); //inicializuojama GLUT aplinka Glut.glutInitDisplayMode(Glut.GLUT_SINGLE | Glut.GLUT_RGB); //nustatomi vaizdavimo parametrai Glut.glutInitWindowSize(400, 400); //nustatomas programos lango dydis Glut.glutInitWindowPosition(400, 300); //nustatoma lango pozicija Glut.glutCreateWindow("NIF06020"); //sukuriamas langas Init(); //papildomi OpenGL būsenų nustatymai Glut.glutDisplayFunc(new Glut.DisplayCallback(Figura)); //vaizdavimo metodo uzregistravimas Glut.glutKeyboardFunc(new Glut.KeyboardCallback(Klaviatura1)); //metodo klaviatura1 uzregistravimas Glut.glutSpecialFunc(new Glut.SpecialCallback(Klaviatura2)); //metodo klaviatura2 uzregistravimas Glut.glutMouseFunc(new Glut.MouseCallback(Pele)); //metodo pele uzregistravimas Glut.glutCreateMenu(new Glut.CreateMenuCallback(Meniu)); //metodo meniu uzregistravimas Glut.glutAddMenuEntry("Pirmas punktas", '1'); //i kontekstini meniu itraukiamas pirmas pasirinkimas Glut.glutAddMenuEntry("Antras punktas", '2'); //i kontekstini meniu itraukiamas antras pasirinkimas Glut.glutAddMenuEntry("Trecias punktas", '3'); //i kontekstini meniu itraukiamas trecias pasirinkimas Glut.glutAddMenuEntry("Ketvirtas punktas", '4'); //i kontekstini meniu itraukiamas ketvirtas pasirinkimas Glut.glutAddMenuEntry("Penktas punktas", '5'); //i kontekstini meniu itraukiamas penktas pasirinkimas Glut.glutAddMenuEntry("Progamos pabaiga", '6'); //i kontekstini meniu itraukiamas sestas pasirinkimas Glut.glutAttachMenu(Glut.GLUT_RIGHT_BUTTON); //uzregistuojamas iskleidziamas meniu Glut.glutMainLoop(); //pradedamas vykdyti grafines programos ciklas } //
static void Main(string[] args) { t1.Start(); t1.IsBackground = true; t2.Start(); t2.IsBackground = true; //getserialport(); Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_DOUBLE | Glut.GLUT_RGB); // Setup display mode to double buffer and RGB color Glut.glutInitWindowSize(800, 800); // Set the screen size Glut.glutCreateWindow("OpenGL 3D Navigation Program With Tao"); init(); Glut.glutReshapeFunc(reshape); Glut.glutDisplayFunc(display); Glut.glutSpecialFunc(new Glut.SpecialCallback(specialKey)); // set window's to specialKey callback TimerFunction(0); //TimerFunction2(0); Glut.glutMainLoop(); }
static void Main(string[] args) { Glut.glutInit(); /* need both double buffering and z buffer */ Glut.glutInitDisplayMode(Glut.GLUT_DOUBLE | Glut.GLUT_RGB | Glut.GLUT_DEPTH); Glut.glutInitWindowSize(640, 480); Glut.glutCreateWindow("OpenGL"); myInit(); //mdlviewer_init( "homer.mdl", modelo.homer); Glut.glutReshapeFunc(myReshape); Glut.glutDisplayFunc(display); Glut.glutKeyboardFunc(keyboard); Glut.glutSpecialFunc(specialKey); Glut.glutMouseFunc(mouse); Glut.glutPassiveMotionFunc(mouse); imprime_ajuda(); Glut.glutMainLoop(); }
public static void Main(string[] args) { int menuID, subMenuA, subMenuB; Glut.glutInitDisplayString("stencil~2 rgb double depth>=16 samples"); Glut.glutInitDisplayMode(Glut.GLUT_RGB | Glut.GLUT_DOUBLE | Glut.GLUT_DEPTH); Glut.glutInitWindowPosition(100, 100); Glut.glutInit(); subMenuA = Glut.glutCreateMenu(SampleMenu); Glut.glutAddMenuEntry("Sub menu A1 (01)", 1); Glut.glutAddMenuEntry("Sub menu A2 (02)", 2); Glut.glutAddMenuEntry("Sub menu A3 (03)", 3); subMenuB = Glut.glutCreateMenu(SampleMenu); Glut.glutAddMenuEntry("Sub menu B1 (04)", 4); Glut.glutAddMenuEntry("Sub menu B2 (05)", 5); Glut.glutAddMenuEntry("Sub menu B3 (06)", 6); Glut.glutAddSubMenu("Going to sub menu A", subMenuA); menuID = Glut.glutCreateMenu(SampleMenu); Glut.glutAddMenuEntry("Entry one", 1); Glut.glutAddMenuEntry("Entry two", 2); Glut.glutAddMenuEntry("Entry three", 3); Glut.glutAddMenuEntry("Entry four", 4); Glut.glutAddMenuEntry("Entry five", 5); Glut.glutAddSubMenu("Enter sub menu A", subMenuA); Glut.glutAddSubMenu("Enter sub menu B", subMenuB); Glut.glutCreateWindow("Hello world!"); Glut.glutDisplayFunc(new Glut.DisplayCallback(SampleDisplay)); Glut.glutReshapeFunc(new Glut.ReshapeCallback(SampleReshape)); Glut.glutKeyboardFunc(new Glut.KeyboardCallback(SampleKeyboard)); Glut.glutSpecialFunc(new Glut.SpecialCallback(SampleSpecial)); Glut.glutIdleFunc(new Glut.IdleCallback(SampleIdle)); Glut.glutAttachMenu(Glut.GLUT_LEFT_BUTTON); Glut.glutInitWindowPosition(200, 200); Glut.glutCreateWindow("I am not Jan B."); Glut.glutDisplayFunc(new Glut.DisplayCallback(SampleDisplay)); Glut.glutReshapeFunc(new Glut.ReshapeCallback(SampleReshape)); Glut.glutKeyboardFunc(new Glut.KeyboardCallback(SampleKeyboard)); Glut.glutSpecialFunc(new Glut.SpecialCallback(SampleSpecial)); Glut.glutIdleFunc(new Glut.IdleCallback(SampleIdle)); Glut.glutAttachMenu(Glut.GLUT_LEFT_BUTTON); Console.WriteLine("Testing game mode string parsing, don't panic!\n"); Glut.glutGameModeString("320x240:32@100"); Glut.glutGameModeString("640x480:16@72"); Glut.glutGameModeString("1024x768"); Glut.glutGameModeString(":32@120"); Glut.glutGameModeString("Toudi glupcze, Danwin bedzie moj!"); Glut.glutGameModeString("640x480:16@72"); Glut.glutEnterGameMode(); Glut.glutDisplayFunc(new Glut.DisplayCallback(SampleDisplay)); Glut.glutReshapeFunc(new Glut.ReshapeCallback(SampleReshape)); Glut.glutKeyboardFunc(new Glut.KeyboardCallback(SampleGameModeKeyboard)); Glut.glutIdleFunc(new Glut.IdleCallback(SampleIdle)); Glut.glutAttachMenu(Glut.GLUT_LEFT_BUTTON); Console.WriteLine("current window is %ix%i+%i+%i", Glut.glutGet(Glut.GLUT_WINDOW_X), Glut.glutGet(Glut.GLUT_WINDOW_Y), Glut.glutGet(Glut.GLUT_WINDOW_WIDTH), Glut.glutGet(Glut.GLUT_WINDOW_HEIGHT) ); /* * Enter the main FreeGLUT processing loop */ Glut.glutMainLoop(); Console.WriteLine("glutMainLoop() termination works fine!\n"); }
private void StartOpenGl() { exit = false; Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_DOUBLE | Glut.GLUT_DEPTH | Glut.GLUT_ALPHA | Glut.GLUT_STENCIL | Glut.GLUT_MULTISAMPLE); // http://www.lighthouse3d.com/cg-topics/glut-and-freeglut/ // Note: glutSetOption is only available with freeglut Glut.glutSetOption(Glut.GLUT_ACTION_ON_WINDOW_CLOSE, Glut.GLUT_ACTION_GLUTMAINLOOP_RETURNS); Glut.glutInitWindowSize(width, height); Glut.glutCreateWindow("OpenGL Test"); Glut.glutIdleFunc(OnRenderFrame); Glut.glutDisplayFunc(OnDisplay); Glut.glutDisplayFunc(OnDisplay); Glut.glutKeyboardFunc(OnKeyboardDown); Glut.glutSpecialFunc(OnSpecialKeyboardDown); Glut.glutKeyboardUpFunc(OnKeyboardUp); Glut.glutSpecialUpFunc(OnSpecialKeyboardUp); Glut.glutCloseFunc(OnClose); Glut.glutReshapeFunc(OnReshape); // add our mouse callbacks for this tutorial Glut.glutMouseFunc(OnMouse); Glut.glutMotionFunc(OnMove); #region GL_VERSION //this will return your version of opengl int major, minor; major = Gl.GetInteger(GetPName.MajorVersion); minor = Gl.GetInteger(GetPName.MinorVersion); GameCore.TheGameCore.RaiseMessage("Major " + major + " Minor " + minor); // Console.WriteLine("Major " + major + " Minor " + minor); //you can also get your GLSL version, although not sure if it varies from the above GameCore.TheGameCore.RaiseMessage("GLSL " + Gl.GetString(StringName.ShadingLanguageVersion)); #endregion Gl.Enable(EnableCap.DepthTest); Gl.Enable(EnableCap.Blend); Gl.BlendFunc(BlendingFactorSrc.SrcAlpha, BlendingFactorDest.OneMinusSrcAlpha); RenderObjects.RenderObjects.TheResourceManager = theResourceManager; Camera camera = new Camera(new Vector3(0, 20, 10), Quaternion.Identity); camera.SetDirection(new Vector3(1, -3, -1)); TheGameStatus.TheEnvironment = new Environment(); TheGameStatus.TheCamera = camera; theSceneManager = new SceneManager(TheGameStatus, TheUserInputPlayer, theKeyBindings, theResourceManager, new RenderStatus() { Width = width, Height = height }); theSceneManager.AddCamera(camera); theSceneManager.AddLayer(new RenderLayerSkyBox()); theSceneManager.AddLayer(new RenderLayerGame()); theSceneManager.AddLayer(new RenderLayerMapDrawArrays()); theSceneManager.AddLayer(new RenderLayerHud()); theSceneManager.AddLayer(layerInfo = new RenderLayerTextInfo()); theSceneManager.OnLoad(); watch = Stopwatch.StartNew(); Glut.glutMainLoop(); GameCore.TheGameCore.OnGameEventHandler(new GameEventArgs(GameEventArgs.Types.RendererExited)); }
/// <summary> /// /// </summary> /// <param name="fullscreen"></param> public void executar() { AppState.Instance.setLanguage(AppState.Instance.Language); #region Inicializações Glut Glut.glutInit(); Glut.glutInitDisplayMode(Glut.GLUT_DOUBLE | Glut.GLUT_RGBA | Glut.GLUT_DEPTH); if (AppState.Instance.Fullscreen) { Glut.glutGameModeString(AppState.Instance.Width + "x" + AppState.Instance.Height + ":32"); if (Glut.glutGameModeGet(Glut.GLUT_GAME_MODE_POSSIBLE) == 1) { Glut.glutEnterGameMode(); Glut.glutSetCursor(Glut.GLUT_CURSOR_NONE); } else { System.Environment.Exit(0); } } else { Glut.glutInitWindowSize(AppState.Instance.Width, AppState.Instance.Height); Glut.glutCreateWindow(Settings.Default.ApplicationName + "-" + Settings.Default.VersionNumber); } #endregion #region Inicializações OpenGL Gl.glEnable(Gl.GL_DEPTH_TEST); Gl.glShadeModel(Gl.GL_SMOOTH); Gl.glEnable(Gl.GL_POINT_SMOOTH); Gl.glEnable(Gl.GL_LINE_SMOOTH); Gl.glEnable(Gl.GL_POLYGON_SMOOTH); Gl.glEnable(Gl.GL_TEXTURE_2D); Gl.glEnable(Gl.GL_NORMALIZE); Gl.glEnable(Gl.GL_LIGHTING); Gl.glEnable(Gl.GL_AUTO_NORMAL); //Gl.glEnable(Gl.GL_CULL_FACE); Gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); #endregion Camera cam = new Camera(); cam.IsActive = true; cam.Following = (ThreeDObject)this.ActiveTourist; Camera.CameraList.Add(cam); this.Renderer.Atmosphere = this.AtmosphericConditions; #region Inicialização do DevIL, Alut e bibliotecas associadas Il.ilInit(); Ilut.ilutInit(); Ilut.ilutRenderer(Ilut.ILUT_OPENGL); Alut.alutInit(); #endregion #region Carregar os Recursos Console.WriteLine(AppState.Instance.ResourceManager.GetString("LoadingTextures")); Assets.Instance.loadTextures(); Console.WriteLine(AppState.Instance.ResourceManager.GetString("Loading3DS")); Assets.Instance.loadModels(); Console.WriteLine(AppState.Instance.ResourceManager.GetString("LoadingSounds")); Assets.Instance.loadSounds(); #endregion #region Skybox Skybox skybox = new Skybox(); skybox.createDisplayList(); this.Renderer.ObjectosCena.Add(skybox); #endregion #region Terreno Terrain terreno = new Terrain(); terreno.createDisplayList(); this.Renderer.ObjectosCena.Add(terreno); #endregion #region Sol Sun sol = new Sun(); this.Renderer.IluminacaoCena.Add(sol); #endregion #region Carregamento dos Dados obtidos atrávés do WebService this.Ws.loadTour(ref this.tour); this.Ws.loadCartography(ref this.cartography, this.tour.cityID); AppState.Instance.CurrentDate = this.tour.begin; #endregion #region Adicionar Elementos "Colidíveis" foreach (PointOfInterest p in this.Cartography.pointsOfInterest) { this.collidible.Add(p); } foreach (GenericObject go in this.Cartography.genericObjects) { if (go is RandomBuilding) { this.collidible.Add(go); } } #endregion #region Adicionar Elementos Visitáveis PointOfInterest poi; foreach (ToVisit t in this.CurrentTour.toVisit) { poi = this.Cartography.getPointOfInterestWithID(t.attractionID); poi.ToVisit = true; poi.Visited = t.visited; } #endregion #region Ajustes à Área de Colisão dos Modelos String[] adjustment; String[] dimensions; foreach (PointOfInterest col in this.Cartography.pointsOfInterest) { adjustment = ModelSettings.Default[col.ModelName + "Adjustment"].ToString().Split('|'); col.ColisionArea.Adjustment.set(Double.Parse(adjustment[0]), Double.Parse(adjustment[1]), Double.Parse(adjustment[2])); dimensions = ModelSettings.Default[col.ModelName + "Dimensions"].ToString().Split('|'); col.ColisionArea.Dimensions.set(Double.Parse(dimensions[0]), Double.Parse(dimensions[1]), Double.Parse(dimensions[2])); col.SoundName = ModelSettings.Default[col.ModelName + "SoundName"].ToString(); col.ColisionArea.Visible = true; } #endregion #region Turista this.ActiveTourist.ModelName = "Turista"; this.ActiveTourist.setPosicao(20.0, -0.9, 0.0); this.ActiveTourist.SoundName = "HeroStep3"; this.ActiveTourist.setSoundPosition(); this.Renderer.ObjectosCena.Add(this.ActiveTourist); #endregion // TODO: Cria uma propriedade para isto new Ambiente().definirProperiedades(); Glut.glutDisplayFunc(new Glut.DisplayCallback(this.Renderer.render)); Glut.glutKeyboardFunc(new Glut.KeyboardCallback(this.Input.tecladoNormal)); Glut.glutKeyboardUpFunc(new Glut.KeyboardUpCallback(this.Input.tecladoNormalUp)); Glut.glutReshapeFunc(new Glut.ReshapeCallback(this.Renderer.redimensionar)); Glut.glutSpecialFunc(new Glut.SpecialCallback(this.Input.tecladoEspecial)); Glut.glutTimerFunc(30, new Glut.TimerCallback(this.timer), 0); this.createPopupMenus(); if (this.CurrentTour.toVisit.Count > 0) { Messaging.Instance.Permanent.Add(AppState.Instance.ResourceManager.GetString("ToVisitLabel") + ":"); foreach (ToVisit tv in this.CurrentTour.toVisit) { poi = this.Cartography.getPointOfInterestWithID(tv.attractionID); if (poi.ToVisit && !poi.Visited) { Messaging.Instance.Permanent.Add("- " + poi.Nome); } else { Messaging.Instance.Permanent.Add("- " + poi.Nome + " (" + AppState.Instance.ResourceManager.GetString("VisitedLabel") + ")"); } } } else { Messaging.Instance.Permanent.Add(AppState.Instance.ResourceManager.GetString("NoPOIsToVisit")); } #region Inicializar Música Ambiente this.SoundManager.switchAmbientMusicTo("MusicaAmbiente1"); #endregion this.Renderer.Map = this.Cartography; Glut.glutMainLoop(); }