source: nanovis/branches/1.1/define.h @ 5722

Last change on this file since 5722 was 3502, checked in by ldelgass, 11 years ago

Add basic VTK structured points reader to nanovis, update copyright dates.

  • Property svn:eol-style set to native
File size: 3.5 KB
Line 
1/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2/*
3 * ----------------------------------------------------------------------
4 * Nanovis: Visualization of Nanoelectronics Data
5 *
6 * ======================================================================
7 *  AUTHOR:  Wei Qiao <qiaow@purdue.edu>
8 *           Purdue Rendering and Perceptualization Lab (PURPL)
9 *
10 *  Copyright (c) 2004-2013  HUBzero Foundation, LLC
11 *
12 *  See the file "license.terms" for information on usage and
13 *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
14 * ======================================================================
15 */
16#ifndef DEFINE_H
17#define DEFINE_H
18
19#include <GL/glew.h>
20
21#define CHECK_FRAMEBUFFER_STATUS()                              \
22do {                                                            \
23    GLenum status;                                              \
24    status = glCheckFramebufferStatusEXT(GL_FRAMEBUFFER_EXT);   \
25    switch(status) {                                            \
26    case GL_FRAMEBUFFER_COMPLETE_EXT:                           \
27        TRACE("Framebuffer complete");                          \
28        break;                                                  \
29    case GL_FRAMEBUFFER_UNSUPPORTED_EXT:                        \
30        ERROR("Framebuffer GL_FRAMEBUFFER_UNSUPPORTED_EXT");    \
31        assert(0);                                              \
32        break;                                                  \
33    case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT:              \
34        TRACE("Framebuffer INCOMPLETE_ATTACHMENT");             \
35        break;                                                  \
36    case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT:      \
37        TRACE("Framebuffer FRAMEBUFFER_MISSING_ATTACHMENT");    \
38        break;                                                  \
39    case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT:              \
40        TRACE("Framebuffer FRAMEBUFFER_DIMENSIONS");            \
41        break;                                                  \
42    case GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT:                 \
43        TRACE("Framebuffer INCOMPLETE_FORMATS");                \
44        break;                                                  \
45    case GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT:             \
46        TRACE("Framebuffer INCOMPLETE_DRAW_BUFFER");            \
47        break;                                                  \
48    case GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT:             \
49        TRACE("Framebuffer INCOMPLETE_READ_BUFFER");            \
50        break;                                                  \
51    case GL_FRAMEBUFFER_BINDING_EXT:                            \
52        TRACE("Framebuffer BINDING_EXT");                       \
53        break;                                                  \
54    default:                                                    \
55        ERROR("Unknown framebuffer error %d", status);          \
56        /* programming error; will fail on all hardware */      \
57        assert(0);                                              \
58    }                                                           \
59} while(0)
60
61inline void
62draw_quad(int w, int h, int tw, int th)
63{
64    glBegin(GL_QUADS);
65    glTexCoord2f(0,         0);         glVertex2f(0,        0);
66    glTexCoord2f((float)tw, 0);         glVertex2f((float)w, 0);
67    glTexCoord2f((float)tw, (float)th); glVertex2f((float)w, (float) h);
68    glTexCoord2f(0,         (float)th); glVertex2f(0,        (float) h);
69    glEnd();
70}
71
72#endif
Note: See TracBrowser for help on using the repository browser.