• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Nie działa zmiana tła

0 głosów
406 wizyt
pytanie zadane 27 czerwca 2017 w C i C++ przez Dexterim Dyskutant (8,370 p.)

Przepisałem kod z pewnego tutoriala o opengl, zgodnie z ćwiczeniami chciałem trochę pomodyfikować kod probujac zmienić kolor tła, ale nie wiem czemu funkcja nie reaguje na rożne argumenty i cały czas daje czarny. Jakis pomysł?

// Main.cpp

#include <SDL.h>
#include <SDL_opengles2.h>
#include <GLES3/gl3.h>
#include <cstdio>
#include <cstdlib>

const unsigned int DISP_WIDTH = 800;
const unsigned int DISP_HEIGHT = 600;

int SDL_main(int argc, char *args[]) {
	// ##### FIXME! #####
	SDL_Window *window = NULL;
	SDL_GLContext context = NULL;

	if (SDL_Init(SDL_INIT_VIDEO) < 0) {
		SDL_Log("SDL could not initialize! SDL_Error: %s\n", SDL_GetError());
		return 10;
	}

	atexit(SDL_Quit);

	SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK,SDL_GL_CONTEXT_PROFILE_ES);
	SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION,3);
	SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION,0);

	SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
	
	window = SDL_CreateWindow("Tut", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, DISP_WIDTH, DISP_HEIGHT, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN);

	if (!window) {
		SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, "Error","Couldn't create the main window",NULL);
		return EXIT_FAILURE;
	}

	context = SDL_GL_CreateContext(window);

	if (!context) {
		SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, "Error", "Coulnd't create an OpenGl context", NULL);
		return EXIT_FAILURE;
	}
	
	glClearColor(0.5F, 0.0F, 1.0F, 0.5F);   // funkcja odpowiedzialna za zmiane koloru tla
	glClear(GL_COLOR_BUFFER_BIT);

	SDL_GL_SwapWindow(window);
	bool quit = false;
	
	while (!quit) {
		SDL_Event event;
		if (SDL_WaitEvent(&event) != 0) {
			if (event.type == SDL_QUIT) {
				quit = true;
			}
		}
		
	}

	return EXIT_SUCCESS;
}






 

1 odpowiedź

0 głosów
odpowiedź 28 czerwca 2017 przez MsMaciek123 Pasjonat (24,760 p.)
     

Przeczytaj https://pl.wikipedia.org/wiki/Kolory_w_Internecie#Nazwy_kolor.C3.B3w_w_systemie_X_Window (w sensie strone)
i wpisz tak " glClearColor([]F, []F, []F); "
W [] napisz te cyferki z kodu dziesiętnego.
NP: 

Lime    00 FF 00   [ 0 255 0 ]

Chodzi o zapis    0 255 0
i taki masz tam wpisać.

komentarz 28 czerwca 2017 przez Dexterim Dyskutant (8,370 p.)
komentarz 29 czerwca 2017 przez MsMaciek123 Pasjonat (24,760 p.)
Ja to tak strzelałem :).
komentarz 2 lipca 2017 przez MsMaciek123 Pasjonat (24,760 p.)
zamknij temat

Podobne pytania

0 głosów
2 odpowiedzi 386 wizyt
pytanie zadane 7 marca 2016 w C i C++ przez Adriqun Początkujący (290 p.)
–1 głos
2 odpowiedzi 1,127 wizyt
pytanie zadane 22 kwietnia 2016 w C i C++ przez Daaa22 Dyskutant (8,250 p.)
+1 głos
3 odpowiedzi 685 wizyt
pytanie zadane 16 marca 2016 w C i C++ przez Gandalf Obywatel (1,260 p.)

93,742 zapytań

142,678 odpowiedzi

323,297 komentarzy

63,326 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...