Jump to content
  • Advertisement
Sign in to follow this  
openglpro

OpenGL use image with opengl

This topic is 2584 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I created an analog clock using opengl,it works fine now i want to use images instead of shapes and lines for the face and gears of the clock
how can i do this?
the complete code is below,i use vs2010 and visual c++win32 empty application

[font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]#include[/font]

[/font]

[/font] [font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"]"StdAfx.h"[/font][/font][/font]

[font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"] [/font][/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]#include

[/font]

[/font]

[/font] [font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"]"CGLWindow.h"[/font][/font][/font]

[font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"] [/font][/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]#include

[/font]

[/font]

[/font] [font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"]<stdio.h>[/font][/font][/font]

[font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"] [/font][/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]#include

[/font]

[/font]

[/font] [font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"]<stdlib.h>[/font][/font][/font]

[font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"] [/font][/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]#include

[/font]

[/font]

[/font] [font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"]<math.h>[/font][/font][/font]

[font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"] [/font][/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]#include

[/font]

[/font]

[/font] [font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"]<time.h>[/font][/font][/font]

[font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"] [/font][/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]#include

[/font]

[/font]

[/font] [font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"]"glut.h"[/font][/font][/font]

[font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"] [/font][/font][/font][font="Consolas"][font="Consolas"] ?

[/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]#define

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] WINDOW_WIDTH 500[/font][/font]

[font="Consolas"][font="Consolas"] [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]#define

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] WINDOW_HEIGHT 500[/font][/font]

[font="Consolas"][font="Consolas"] [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]#define

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] PI 3.141592653589793[/font][/font]

[font="Consolas"][font="Consolas"] GLfloat secAngle=0.0;

GLfloat minAngle=0.0;

GLfloat hourAngle=0.0;

GLfloat hour=0.0;

[/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]void

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] draw();[/font][/font]

[font="Consolas"][font="Consolas"] [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]void

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] reshape([/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]int[/font][/font][/font][font="Consolas"][font="Consolas"] width, [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]int[/font][/font][/font][font="Consolas"][font="Consolas"] height);[/font][/font]

[font="Consolas"][font="Consolas"] [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]void

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] init();[/font][/font]

[font="Consolas"][font="Consolas"] [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]void

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] keyboard([/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]unsigned[/font][/font][/font] [font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]char[/font][/font][/font][font="Consolas"][font="Consolas"], [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]int[/font][/font][/font][font="Consolas"][font="Consolas"], [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]int[/font][/font][/font][font="Consolas"][font="Consolas"]);[/font][/font]

[font="Consolas"][font="Consolas"] [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]void

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] drawClock();[/font][/font]

[font="Consolas"][font="Consolas"] [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]void

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] rotateSeconds();[/font][/font]

[font="Consolas"][font="Consolas"] [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]void

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] Synchronize();[/font][/font]

[font="Consolas"][font="Consolas"] [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]void

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] outputText([/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]double[/font][/font][/font][font="Consolas"][font="Consolas"] x,[/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]double[/font][/font][/font][font="Consolas"][font="Consolas"] y,[/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]double[/font][/font][/font][font="Consolas"][font="Consolas"] z,[/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]double[/font][/font][/font][font="Consolas"][font="Consolas"] scale,[/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]char[/font][/font][/font][font="Consolas"][font="Consolas"] *s);[/font][/font]

[font="Consolas"][font="Consolas"] [/font][/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// sistem saatini al

[/font][/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]void

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] Synchronize()[/font][/font]

[font="Consolas"][font="Consolas"] {

GLfloat h,m,s;

time_t rawtime;



[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]struct[/font][/font][/font][font="Consolas"][font="Consolas"] tm * timeinfo;[/font][/font]

[font="Consolas"][font="Consolas"] [/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]char[/font][/font][/font][font="Consolas"][font="Consolas"] buffer [80];[/font][/font]

[font="Consolas"][font="Consolas"]

time ( &rawtime );

timeinfo = localtime ( &rawtime );

strftime(buffer, 80,

[/font]

[/font][font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"]"Sistem Saati: %I:%S"[/font][/font][/font][font="Consolas"][font="Consolas"], timeinfo);[/font][/font]

[font="Consolas"][font="Consolas"] [/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]if[/font][/font][/font][font="Consolas"][font="Consolas"](timeinfo->tm_hour > 12) [/font][/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// 25'den 12'ye[/font][/font][/font]

[font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"] [/font][/font][/font][font="Consolas"][font="Consolas"] {

h=(timeinfo->tm_hour-12)-(hourAngle/30.0);

}



[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]else[/font][/font][/font]

[font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"] [/font][/font][/font][font="Consolas"][font="Consolas"] {

h=(timeinfo->tm_hour)-(hourAngle/30.0);

}



m=timeinfo->tm_min-(minAngle/6.0);

s=timeinfo->tm_sec-(secAngle/6.0);

printf(

[/font]

[/font][font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"]"Sistem Saati: %d : %d :%d\n"[/font][/font][/font][font="Consolas"][font="Consolas"], timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec);[/font][/font]

[font="Consolas"][font="Consolas"] printf(

[/font]

[/font][font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"]"Sistem Saati Ayarlan?yor...\n"[/font][/font][/font][font="Consolas"][font="Consolas"]);[/font][/font]

[font="Consolas"][font="Consolas"] secAngle = timeinfo->tm_sec * 6.0;

minAngle = timeinfo->tm_min * 6.0;



[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]if[/font][/font][/font][font="Consolas"][font="Consolas"](timeinfo->tm_hour > 12) [/font][/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// 25'ten 12'ye dön[/font][/font][/font]

[font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"] [/font][/font][/font][font="Consolas"][font="Consolas"] {

hourAngle = ((timeinfo->tm_hour-12) * 30.0) + (

[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]float[/font][/font][/font][font="Consolas"][font="Consolas"])(([/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]float[/font][/font][/font][font="Consolas"][font="Consolas"])1/12.0 * minAngle);[/font][/font]

[font="Consolas"][font="Consolas"] hour = ((timeinfo->tm_hour-12) * 30.0);

}



[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]else[/font][/font][/font]

[font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"] [/font][/font][/font][font="Consolas"][font="Consolas"] {

hourAngle = ((timeinfo->tm_hour) * 30.0) + (

[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]float[/font][/font][/font][font="Consolas"][font="Consolas"])(([/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]float[/font][/font][/font][font="Consolas"][font="Consolas"])1/12.0 * minAngle); [/font][/font]

[font="Consolas"][font="Consolas"] hour = ((timeinfo->tm_hour-12) * 30.0);

}

[/font][/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// printf("Saat Aç?s? : %3.2f [%3.1f]\n", hourAngle, (float)((float)1/12 * minAngle));

// printf("Dakika Aç?s?: %3.2f\n", minAngle);

// printf("Saat Hatas?: %3.1f h:%3.1fm:%3.1fs\n", h,m,s);

[/font][/font][/font][font="Consolas"][font="Consolas"]}

?

[/font][/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// saniye kolunu döndür

[/font][/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]void

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] rotateSeconds([/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]int[/font][/font][/font][font="Consolas"][font="Consolas"] extra)[/font][/font]

[font="Consolas"][font="Consolas"] {

secAngle += 6.0;

[/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]if

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"](secAngle == 360.0)[/font][/font]

[font="Consolas"][font="Consolas"] {

secAngle = 0.0;

minAngle += 6.0;

hourAngle = hour + ((

[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]float[/font][/font][/font][font="Consolas"][font="Consolas"])1.0/12.0 * minAngle);[/font][/font]

[font="Consolas"][font="Consolas"] Synchronize();



[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]if[/font][/font][/font][font="Consolas"][font="Consolas"](minAngle == 360.0)[/font][/font]

[font="Consolas"][font="Consolas"] {

minAngle = 0.0;

hourAngle+=6.0;



[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]if[/font][/font][/font][font="Consolas"][font="Consolas"](hourAngle == 360.0)[/font][/font]

[font="Consolas"][font="Consolas"] {

hourAngle = 0.0;

}

}

}

[/font][/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]//printf("Saat: %3d:%3.0f:%3.0f [%3.1f-%3.1f-%3.1f]\n", (int)(((hour/30.0)+12)), minAngle/6, secAngle/6, hourAngle, minAngle, secAngle);

//printf("Saat: %3dh:%3.0fm:%3.0fs [%3.1f-%3.1f-%3.1f]\n", (int)(hour/30.0), minAngle/6, secAngle/6, hourAngle, minAngle, secAngle);

[/font][/font][/font][font="Consolas"][font="Consolas"]glutPostRedisplay();

glutTimerFunc(1000, rotateSeconds, 0);

[/font]

[/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// milisaniye[/font][/font][/font]

[font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"] [/font][/font][/font][font="Consolas"][font="Consolas"]}

[/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]void

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] keyboard([/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]unsigned[/font][/font][/font] [font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]char[/font][/font][/font][font="Consolas"][font="Consolas"] key, [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]int[/font][/font][/font][font="Consolas"][font="Consolas"] x, [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]int[/font][/font][/font][font="Consolas"][font="Consolas"] y)[/font][/font]

[font="Consolas"][font="Consolas"] {



[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]switch[/font][/font][/font][font="Consolas"][font="Consolas"] (key) [/font][/font]

[font="Consolas"][font="Consolas"] {



[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]case[/font][/font][/font][font="Consolas"][font="Consolas"] 27:[/font][/font]

[font="Consolas"][font="Consolas"] exit(0);



[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]break[/font][/font][/font][font="Consolas"][font="Consolas"];[/font][/font]

[font="Consolas"][font="Consolas"] }

}

?

[/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]void

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] init()[/font][/font]

[font="Consolas"][font="Consolas"] {

}

[/font][/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// dijital sati yaz

[/font][/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]void

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] outputText([/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]double[/font][/font][/font][font="Consolas"][font="Consolas"] x,[/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]double[/font][/font][/font][font="Consolas"][font="Consolas"] y,[/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]double[/font][/font][/font][font="Consolas"][font="Consolas"] z,[/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]double[/font][/font][/font][font="Consolas"][font="Consolas"] scale,[/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]char[/font][/font][/font][font="Consolas"][font="Consolas"] *s)[/font][/font]

[font="Consolas"][font="Consolas"] {



[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]int[/font][/font][/font][font="Consolas"][font="Consolas"] i;[/font][/font]

[font="Consolas"][font="Consolas"] glPushMatrix();

glTranslatef(x,y,z);

glScalef(scale,scale,scale);



[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]for[/font][/font][/font][font="Consolas"][font="Consolas"] (i=0;i<strlen(s);i++)[/font][/font]

[font="Consolas"][font="Consolas"] glutStrokeCharacter(GLUT_STROKE_ROMAN,s);

glPopMatrix();

}

[/font][/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// analog saati çiz

[/font][/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]void

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] drawClock() {[/font][/font]

[font="Consolas"][font="Consolas"] [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]char

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] buff[100];[/font][/font]

[font="Consolas"][font="Consolas"] GLfloat x1=0.0;

GLfloat y1=0.0;

GLfloat z1=0.0;

GLfloat radius = 10.0;

GLfloat smallradius = 3.0;

[/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]int

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] angle;[/font][/font]

[font="Consolas"][font="Consolas"] glLoadIdentity();

glClearColor(1.0, 1.0, 1.0, 1.0);

glClear(GL_COLOR_BUFFER_BIT);

glOrtho(0.0, 20.0, 0.0, 20.0, -10.0, 10.0);



[/font]

[/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// kadran[/font][/font][/font]

[font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"] [/font][/font][/font][font="Consolas"][font="Consolas"] glPushMatrix();

glTranslatef(10.0, 10.0, 0.0);

glBegin(GL_TRIANGLE_FAN);

glColor3f(0.0,0.2,1.0);

glVertex3f(x1, y1, z1);



[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]for[/font][/font][/font][font="Consolas"][font="Consolas"](angle=0; angle <= 360; angle +=1)[/font][/font]

[font="Consolas"][font="Consolas"] glVertex3f(x1 + cos(angle * PI/180.0f)* radius, y1 + sin(angle * PI/180.0f) * radius, z1);

glEnd();

glPopMatrix();



[/font]

[/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// saat etraf?ndaki noktalar? çiz[/font][/font][/font]

[font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"] [/font][/font][/font][font="Consolas"][font="Consolas"] glPushMatrix();

glTranslatef(10.0, 10.0, 0.0);

glColor3f(0.2,0.2,0.2);

glLineWidth(5);



[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]for[/font][/font][/font][font="Consolas"][font="Consolas"](angle=0; angle <= 360; angle +=30)[/font][/font]

[font="Consolas"][font="Consolas"] {

glBegin(GL_LINES);



[/font]

[/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]//printf("Angle: %d\n", angle);[/font][/font][/font]

[font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"] // 3,6,9,12'yi farkl? çiz

[/font][/font][/font][font="Consolas"][font="Consolas"] [/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]if[/font][/font][/font][font="Consolas"][font="Consolas"](angle == 0.0 || angle==90.0 || angle == 180.0 || angle == 270.0 || angle == 360.0 )[/font][/font]

[font="Consolas"][font="Consolas"] {

glColor3f(1.0,0.2,0.2);

glVertex3f(x1 + cos(angle * PI/180.0f)* (radius-1.2), y1 + sin(angle * PI/180.0f) * (radius-1.2), z1+0.1);

glVertex3f(x1 + cos(angle * PI/180.0f)* radius, y1 + sin(angle * PI/180.0f) * radius, z1+0.1);

}



[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]else[/font][/font][/font]

[font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"] [/font][/font][/font][font="Consolas"][font="Consolas"] {

glColor3f(0.2,0.2,0.2);

glVertex3f(x1 + cos(angle * PI/180.0f)* (radius-0.5), y1 + sin(angle * PI/180.0f) * (radius-0.5), z1);

glVertex3f(x1 + cos(angle * PI/180.0f)* radius, y1 + sin(angle * PI/180.0f) * radius, z1);

}

glEnd();

}

glPopMatrix();



[/font]

[/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// saniye[/font][/font][/font]

[font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"] [/font][/font][/font][font="Consolas"][font="Consolas"] glColor3f(1.0,1.0,0.0);

glLineWidth(1);

glPushMatrix();

glTranslatef(10.0, 10.0, 0.0);

glRotatef(-secAngle, 0.0, 0.0, 1.0);

glBegin(GL_LINES);

glVertex3f(0.0, 0.0, 2.0);

glVertex3f(0.0, 8.5, 2.0);

glEnd();

glPopMatrix();



[/font]

[/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// yelkovan[/font][/font][/font]

[font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"] [/font][/font][/font][font="Consolas"][font="Consolas"] glColor3f(1.0,0.0,0.0);

glLineWidth(4);

glPushMatrix();

glTranslatef(10.0, 10.0, 0.0);

glRotatef(-minAngle, 0.0, 0.0, 1.0);

glBegin(GL_LINES);

glVertex3f(0.0, 0.0, 1.0);

glVertex3f(0.0, 9.0, 1.0);

glEnd();

glPopMatrix();



[/font]

[/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// akrep[/font][/font][/font]

[font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"] [/font][/font][/font][font="Consolas"][font="Consolas"] glColor3f(0.0,1.0,0.0);

glLineWidth(8);

glPushMatrix();

glTranslatef(10.0, 10.0, 0.0);

glRotatef(-hourAngle, 0.0, 0.0, 1.0);

glBegin(GL_LINES);

glVertex3f(0.0, 0.0, 0.0);

glVertex3f(0.0, 6.5, 0.0);

glEnd();

glPopMatrix();



[/font]

[/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// orta nokta[/font][/font][/font]

[font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"] [/font][/font][/font][font="Consolas"][font="Consolas"] glColor3f(0.0,0.0,0.0);

glPointSize(10.0);

glPushMatrix();

glTranslatef(10.0, 10.0, 0.0);

glBegin(GL_POINTS);

glVertex3f(0.0, 0.0, 4.0);

glEnd();

glPopMatrix();

[/font][/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// dijital saati yaz

[/font][/font][/font][font="Consolas"][font="Consolas"] glLineWidth(4);

sprintf(buff,

[/font]

[/font][font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"]"%2d:%2.0f:%2.0f"[/font][/font][/font][font="Consolas"][font="Consolas"], ([/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]int[/font][/font][/font][font="Consolas"][font="Consolas"])((hour/30.0)+12), minAngle/6, secAngle/6, hourAngle, minAngle, secAngle); [/font][/font]

[font="Consolas"][font="Consolas"] [/font][/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// sprintf(buff, "%2dh:%2.0fm:%2.0fs", (int)((hour/30.0)+12), minAngle/6, secAngle/6, hourAngle, minAngle, secAngle);

[/font][/font][/font][font="Consolas"][font="Consolas"] outputText(6.0,12.0,3.0,0.01, buff);

glFlush();

}

[/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]void

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] reshape([/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]int[/font][/font][/font][font="Consolas"][font="Consolas"] w, [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]int[/font][/font][/font][font="Consolas"][font="Consolas"] h) {[/font][/font]

[font="Consolas"][font="Consolas"] glutReshapeWindow(w, h);

glViewport(0, 0, (GLsizei) w, (GLsizei)h);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();



[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]if[/font][/font][/font][font="Consolas"][font="Consolas"] (w <= h)[/font][/font]

[font="Consolas"][font="Consolas"] glOrtho(0.0, 20.0, 0.0, 20.0*((

[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]double[/font][/font][/font][font="Consolas"][font="Consolas"])h/([/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]double[/font][/font][/font][font="Consolas"][font="Consolas"])w), -10.0, 10.0);[/font][/font]

[font="Consolas"][font="Consolas"] [/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]else[/font][/font][/font]

[font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"] [/font][/font][/font][font="Consolas"][font="Consolas"] glOrtho(0.0, 20.0*((

[/font]

[/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]double[/font][/font][/font][font="Consolas"][font="Consolas"])w/([/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]double[/font][/font][/font][font="Consolas"][font="Consolas"])h), 0.0, 20.0, -10.0, 10.0);[/font][/font]

[font="Consolas"][font="Consolas"] glutDisplayFunc(drawClock);

}

[/font][/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]//void main(int argc, CHAR* argv[])

[/font][/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]int

[/font]

[/font]

[/font][font="Consolas"][font="Consolas"] WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, [/font][/font][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"][font="Consolas"][color="#0000ff"]int[/font][/font][/font][font="Consolas"][font="Consolas"])[/font][/font]

[font="Consolas"][font="Consolas"] {

[/font][/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// glutInit(&argc, argv[0]);

[/font][/font][/font][font="Consolas"][font="Consolas"] glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);

glutInitWindowSize(WINDOW_WIDTH, WINDOW_HEIGHT);

glutInitWindowPosition(20, 20);

[/font][/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// glutCreateWindow (argv[0]);

[/font][/font][/font][font="Consolas"][font="Consolas"] glutCreateWindow(

[/font]

[/font][font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"][font="Consolas"][color="#a31515"]"OpenGL Clock by Cevahir PARLAK u081210056"[/font][/font][/font][font="Consolas"][font="Consolas"]);[/font][/font]

[font="Consolas"][font="Consolas"] init();

glutReshapeFunc(reshape);

glutKeyboardFunc(keyboard);

glutTimerFunc(1000, rotateSeconds, 0);

Synchronize();

glutMainLoop();

[/font][/font][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"][font="Consolas"][color="#008000"]// return 0;

[/font][/font][/font][font="Consolas"][font="Consolas"]}

[/font][/font]

Share this post


Link to post
Share on other sites
Advertisement
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!