Jump to content

  • Log In with Google      Sign In   
  • Create Account


#Actuallucaswrk

Posted 05 August 2012 - 01:19 PM

hello everyone, i'm new to opengl and im having trouble to generate glClearColor random values... if i set it manually, works well but with rand()%256 it not. Whats going on ?

os: ubuntu 12.04
io/window library: sdl

heres my code:

#include <iostream>
#include "SDL/SDL.h"
#include "SDL/SDL_opengl.h"
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{
srand(time(NULL));
SDL_Init(SDL_INIT_EVERYTHING);
SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_BUFFER_SIZE, 32);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
SDL_WM_SetCaption("Our first game", NULL);
SDL_SetVideoMode(600, 400, 32, SDL_OPENGL);
glClearColor(255,255,255,255); //rgba
glViewport(0, 0, 600, 400); // top-left bottom-right viewport range
glShadeModel(GL_SMOOTH); // gradient

glMatrixMode(GL_PROJECTION); // 2d
glLoadIdentity();
glDisable(GL_DEPTH_TEST);
bool isRunning = true;
SDL_Event event;
while(isRunning)
{
  while(SDL_PollEvent(&event))
  {
   switch(event.type)
   {
	case SDL_QUIT:
	isRunning = false;
	break;  
   }
   if(event.type == SDL_KEYUP && event.key.keysym.sym == SDLK_ESCAPE)
   {
	   isRunning = false;
	   break;
   }
   if(event.type == SDL_KEYUP && event.key.keysym.sym == SDLK_r)
   {
	glClearColor(rand()%256, rand()%256, rand()%256, 1.0);
	break;
   }
   }
  //rendering
  glClear(GL_COLOR_BUFFER_BIT);
  SDL_GL_SwapBuffers();
  }
SDL_Quit();
return 0;
}

thank you.

#1lucaswrk

Posted 05 August 2012 - 01:17 PM

hello everyone, i'm new to opengl and im having trouble to generate glClearColor random values... if i set it manually, works well but with rand()%256 it not. Whats going on ?

os: ubuntu 12.04
io/window library: sdl

heres my code:

#include <iostream>
#include "SDL/SDL.h"
#include "SDL/SDL_opengl.h"
#include <stdlib.h>
#include <time.h>
using namespace std;
int main()
{
srand(time(NULL));
SDL_Init(SDL_INIT_EVERYTHING);
SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE, 8);
SDL_GL_SetAttribute(SDL_GL_BUFFER_SIZE, 32);
SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
SDL_WM_SetCaption("Our first game", NULL);
SDL_SetVideoMode(600, 400, 32, SDL_OPENGL);
glClearColor(255,255,255,255); //rgba
glViewport(0, 0, 600, 400); // top-left bottom-right viewport range
glShadeModel(GL_SMOOTH); // gradient

glMatrixMode(GL_PROJECTION); // 2d
glLoadIdentity();
glDisable(GL_DEPTH_TEST);
bool isRunning = true;
SDL_Event event;
while(isRunning)
{
  while(SDL_PollEvent(&event))
  {
   switch(event.type)
   {
	case SDL_QUIT:
	isRunning = false;
	break;  
   }
   if(event.type == SDL_KEYUP && event.key.keysym.sym == SDLK_ESCAPE)
   {
	   isRunning = false;
	   break;
   }
   if(event.type == SDL_KEYUP && event.key.keysym.sym == SDLK_r)
   {
	glClearColor(rand()%256, rand()%256, rand(),%256 1.0);
	break;
   }
   }
  //rendering
  glClear(GL_COLOR_BUFFER_BIT);
  SDL_GL_SwapBuffers();
  }
SDL_Quit();
return 0;
}

thank you.

PARTNERS