source: trunk/packages/vizservers/nanovis/global.h @ 1699

Last change on this file since 1699 was 1196, checked in by gah, 16 years ago
File size: 4.1 KB
RevLine 
[273]1/*
2 * ======================================================================
3 *  AUTHOR:  Wei Qiao <qiaow@purdue.edu>
4 *           Purdue Rendering and Perceptualization Lab (PURPL)
5 *
6 *  Copyright (c) 2004-2006  Purdue Research Foundation
7 *
8 *  See the file "license.terms" for information on usage and
9 *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
10 * ======================================================================
11 */
12
13
14//system wide global or static functions
15
16#ifndef _GLOBAL_H_
17#define _GLOBAL_H_
18
19#include <GL/glew.h>
20#include <Cg/cgGL.h>
21
[397]22#include <stdio.h>
[273]23
[1196]24#ifdef notdef
25#define CHECK_FRAMEBUFFER_STATUS() \
26{\
27 GLenum status; \
28 status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT); \
29 fprintf(stderr, "%x\n", status);\
30 switch(status) { \
31 case GL_FRAMEBUFFER_COMPLETE_EXT: \
32   fprintf(stderr,"framebuffer complete!\n");\
33   break; \
34 case GL_FRAMEBUFFER_UNSUPPORTED_EXT: \
35   fprintf(stderr,"framebuffer GL_FRAMEBUFFER_UNSUPPORTED_EXT\n");\
36    /* you gotta choose different formats */ \
37   assert(0); \
38   break; \
39 case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT: \
40   fprintf(stderr,"framebuffer INCOMPLETE_ATTACHMENT\n");\
41   break; \
42 case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT: \
43   fprintf(stderr,"framebuffer FRAMEBUFFER_MISSING_ATTACHMENT\n");\
44   break; \
45 case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT: \
46   fprintf(stderr,"framebuffer FRAMEBUFFER_DIMENSIONS\n");\
47   break; \
48 case GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT: \
49   fprintf(stderr,"framebuffer INCOMPLETE_DUPLICATE_ATTACHMENT\n");\
50   break; \
51 case GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT: \
52   fprintf(stderr,"framebuffer INCOMPLETE_FORMATS\n");\
53   break; \
54 case GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT: \
55   fprintf(stderr,"framebuffer INCOMPLETE_DRAW_BUFFER\n");\
56   break; \
57 case GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT: \
58   fprintf(stderr,"framebuffer INCOMPLETE_READ_BUFFER\n");\
59   break; \
60 case GL_FRAMEBUFFER_BINDING_EXT: \
61   fprintf(stderr,"framebuffer BINDING_EXT\n");\
62   break; \
63/*
64 *  case GL_FRAMEBUFFER_STATUS_ERROR_EXT: \
65 *     fprintf(stderr,"framebuffer STATUS_ERROR\n");\
66 *        break; \
67 *        */ \
68 default: \
69   /* programming error; will fail on all hardware */ \
70   assert(0); \
71 }\
72}
73
[273]74#define CHECK_FRAMEBUFFER_STATUS()                            \
75  {                                                           \
76    GLenum status;                                            \
77    status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT); \
78    switch(status) {                                          \
79      case GL_FRAMEBUFFER_COMPLETE_EXT:                       \
80        break;                                                \
81      case GL_FRAMEBUFFER_UNSUPPORTED_EXT:                    \
82        /* choose different formats */                        \
83        break;                                                \
84      default:                                                \
85        /* programming error; will fail on all hardware */    \
86        fprintf(stderr, "programming error\n");               \
87        assert(0);                                            \
88     }                                                        \
89   }
[1196]90#endif
[273]91
[835]92inline void
93draw_quad(int w, int h, int tw, int th)
[273]94{
95    glBegin(GL_QUADS);
96    glTexCoord2f(0,         0);         glVertex2f(0,        0);
97    glTexCoord2f((float)tw, 0);         glVertex2f((float)w, 0);
98    glTexCoord2f((float)tw, (float)th); glVertex2f((float)w, (float) h);
99    glTexCoord2f(0,         (float)th); glVertex2f(0,        (float) h);
100    glEnd();
101}
102
[377]103
104//query opengl information
[835]105inline void
106system_info()
107{
108    fprintf(stderr,
109            "-----------------------------------------------------------\n");
110    fprintf(stderr, "OpenGL driver: %s %s\n", glGetString(GL_VENDOR),
111            glGetString(GL_VERSION));
112    fprintf(stderr, "Graphics hardware: %s\n", glGetString(GL_RENDERER));
113    fprintf(stderr,
114            "-----------------------------------------------------------\n");
[377]115}
[1111]116
117extern CGprogram LoadCgSourceProgram(CGcontext context, const char *filename,
118        CGprofile profile, const char *entryPoint);
119
[273]120#endif
Note: See TracBrowser for help on using the repository browser.