W samej logice kodu nic nie zmieniałem, po prostu przeniosłem kod funkcji z pliku main.cpp do cpp oraz h. W h mam deklaracje zmiennych oraz funkcji, a w cpp mam ciała funkcji. Proszę bardzo oto poniżej kod:
Plik.cpp
#include <windows.h>
#include <gl\gl.h>
#include <gl\glu.h>
#include <math.h>
#include "Textures.h"
void makeCheckImage()
{
int i, j, c;
for (i = 0; i < CHECK_IMAGE_WIDTH; i++) {
for (j = 0; j < CHECK_IMAGE_HEIGHT; j++) {
c = ((((i&0x8)==0)^((j&0x8))==0))*255;
checkImage[i][j][0] = (GLubyte) c;
checkImage[i][j][1] = (GLubyte) c;
checkImage[i][j][2] = (GLubyte) c;
checkImage[i][j][3] = (GLubyte) (255 - c);
}
}
}
void makeCircleImage()
{
int i, j;
float dist;
for (i = 0; i < CIRCLE_IMAGE_HEIGHT; i++) {
for (j = 0; j < CIRCLE_IMAGE_WIDTH; j++) {
dist = sqrt((((float)i - 64) * ((float)i - 64)) +
(((float)j - 64) * ((float)j - 64)));
if (dist < 64)
{
circleImage[i][j][0] = (GLubyte) 255;
circleImage[i][j][1] = (GLubyte) 255;
circleImage[i][j][2] = (GLubyte) 255;
circleImage[i][j][3] = (GLubyte) 255;
} else {
circleImage[i][j][0] = (GLubyte) 0;
circleImage[i][j][1] = (GLubyte) 0;
circleImage[i][j][2] = (GLubyte) 0;
circleImage[i][j][3] = (GLubyte) 0;
}
}
};
}
void makeNoisePosImage()
{
int i, j, c;
for (i = 0; i < NOISE_IMAGE_WIDTH; i++) {
for (j = 0; j < NOISE_IMAGE_HEIGHT; j++) {
c = rand()%256;
noisePosImage[i][j][0] = (GLubyte) c;
noisePosImage[i][j][1] = (GLubyte) c;
noisePosImage[i][j][2] = (GLubyte) c;
noisePosImage[i][j][3] = (GLubyte) 255;
}
}
}
void makeNoiseNegImage()
{
int i, j, c;
for (i = 0; i < NOISE_IMAGE_WIDTH; i++) {
for (j = 0; j < NOISE_IMAGE_HEIGHT; j++) {
c = rand()%256;
noiseNegImage[i][j][0] = 255 - (GLubyte) c;
noiseNegImage[i][j][1] = 255 - (GLubyte) c;
noiseNegImage[i][j][2] = 255 - (GLubyte) c;
noiseNegImage[i][j][3] = (GLubyte) 255;
}
}
}
Plik h
#ifndef __TEXTURES_H_
#define __TEXTURES_H_
#define CIRCLE_IMAGE_WIDTH 128
#define CIRCLE_IMAGE_HEIGHT 128
#define CHECK_IMAGE_WIDTH 512
#define CHECK_IMAGE_HEIGHT 512
#define NOISE_IMAGE_WIDTH 128
#define NOISE_IMAGE_HEIGHT 128
static GLubyte circleImage[CIRCLE_IMAGE_WIDTH][CIRCLE_IMAGE_HEIGHT][4];
static GLubyte checkImage[CHECK_IMAGE_WIDTH][CHECK_IMAGE_HEIGHT][4];
static GLubyte noisePosImage[NOISE_IMAGE_WIDTH][NOISE_IMAGE_HEIGHT][4];
static GLubyte noiseNegImage[NOISE_IMAGE_WIDTH][NOISE_IMAGE_HEIGHT][4];
void makeCheckImage();
void makeCircleImage();
void makeNoisePosImage();
void makeNoiseNegImage();
#endif