27 #define APPNAME _T("Cylfrac") 31 #define timerdelay 1000/FPS 52 float _RGB(
float H,
float M1,
float M2)
54 if(
H < 0.0)
H += 360.0;
55 else if(
H > 360.0)
H -= 360.0;
56 if(
H < 60)
return M1 + (M2 - M1) *
H / 60.0;
57 if((
H >= 60 )&&(
H < 180))
return M2;
58 if((
H >= 180)&&(
H < 240))
return M1 + (M2 - M1)*(240 -
H) / 60.0;
63 float*
R,
float*
G,
float*
B)
66 if(
S <= 0.5) M2 =
S * (1 +
L);
67 else M2 =
S * (1 -
L) +
L;
75 *
R =
_RGB(
H + 120.0, M1, M2);
77 *
B =
_RGB(
H - 120.0, M1, M2);
106 angle += ticks * 0.01;
137 GLfloat lightpos[4] = {2.0, 2.0, -2.0, 0.7};
#define GL_COLOR_BUFFER_BIT
GLAPI void GLAPIENTRY glClear(GLbitfield mask)
static HGLRC(WINAPI *pwglCreateContextAttribsARB)(HDC hDC
BOOL WINAPI ScreenSaverConfigureDialog(HWND hWnd, UINT message, WPARAM wparam, LPARAM lparam)
GLAPI void GLAPIENTRY glTranslatef(GLfloat x, GLfloat y, GLfloat z)
GLint GLint GLsizei width
BOOL WINAPI wglDeleteContext(HGLRC hglrc)
LRESULT WINAPI ScreenSaverProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
GLAPI void GLAPIENTRY glMatrixMode(GLenum mode)
HDC WINAPI GetDC(_In_opt_ HWND)
GLdouble GLdouble GLdouble r
#define GL_DEPTH_BUFFER_BIT
GLAPI void GLAPIENTRY glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
DWORD WINAPI GetTickCount(VOID)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
BOOL WINAPI GetCursorPos(_Out_ LPPOINT)
MMRESULT WINAPI timeSetEvent(UINT wDelay, UINT wResol, LPTIMECALLBACK lpFunc, DWORD_PTR dwUser, UINT wFlags)
BOOL WINAPI SetPixelFormat(_In_ HDC, _In_ int, _In_ const PIXELFORMATDESCRIPTOR *)
BOOL WINAPI RegisterDialogClasses(HANDLE hmodule)
static const WCHAR szText[]
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
static UINT WPARAM LPARAM lparam
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
MMRESULT WINAPI timeKillEvent(UINT wID)
void DrawCylinder(int n, float rota, float width)
GLAPI void GLAPIENTRY glScalef(GLfloat x, GLfloat y, GLfloat z)
float _RGB(float H, float M1, float M2)
BOOL WINAPI SwapBuffers(HDC)
void MyPixelFormat(HDC dc)
void HLStoRGB(float H, float L, float S, float *R, float *G, float *B)
int WINAPI ChoosePixelFormat(_In_ HDC hdc, _In_ const PIXELFORMATDESCRIPTOR *ppfd)
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
#define GL_COLOR_MATERIAL
void DrawScene(HWND hwnd, HDC dc, int ticks)
TCHAR szTitle[MAX_LOADSTRING]
static PIXELFORMATDESCRIPTOR pfd
GLAPI void GLAPIENTRY glEnable(GLenum cap)
void CALLBACK TimeProc(UINT uID, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2)
GLAPI void GLAPIENTRY glLightfv(GLenum light, GLenum pname, const GLfloat *params)
BOOL WINAPI wglMakeCurrent(HDC hdc, HGLRC hglrc)
GLint GLint GLsizei GLsizei height
GLAPI void GLAPIENTRY glPushMatrix(void)
BOOL WINAPI DeleteDC(_In_ HDC)
static float(__cdecl *square_half_float)(float x
GLAPI void GLAPIENTRY glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
GLAPI void GLAPIENTRY glPopMatrix(void)
GLAPI void GLAPIENTRY glLoadIdentity(void)
LRESULT WINAPI DefScreenSaverProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
#define GL_LINEAR_ATTENUATION
GLAPI void GLAPIENTRY glColor3f(GLfloat red, GLfloat green, GLfloat blue)
#define PFD_SUPPORT_OPENGL
#define PFD_DRAW_TO_WINDOW
__analysis_noreturn void WINAPI PostQuitMessage(_In_ int)
HGLRC WINAPI wglCreateContext(HDC hdc)
static UINT WPARAM wparam