ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/hd/rhd_glx.c
(Generate patch)

Comparing ray/src/hd/rhd_glx.c (file contents):
Revision 3.12 by gregl, Thu Jan 1 16:28:44 1998 UTC vs.
Revision 3.15 by gregl, Tue Jan 6 13:07:57 1998 UTC

# Line 94 | Line 94 | dev_open(id)                   /* initialize X11 driver */
94   char  *id;
95   {
96          extern char     *getenv();
97 +        static RGBPRIMS myprims = STDPRIMS;
98          static int      atlBest[] = {GLX_RGBA, GLX_RED_SIZE,8,
99                                  GLX_GREEN_SIZE,8, GLX_BLUE_SIZE,8,
100                                  GLX_DEPTH_SIZE,15, None};
101 <        char    *gv;
101 >        char    *ev;
102          double  gamval = GAMMA;
103 +        RGBPRIMP        dpri = stdprims;
104          XSetWindowAttributes    ourwinattr;
105          XWMHints        ourxwmhints;
106          XSizeHints      oursizhints;
# Line 116 | Line 118 | char  *id;
118                                          /* get a context */
119          gctx = glXCreateContext(ourdisplay, ourvinf, NULL, GL_TRUE);
120                                          /* set gamma and tone mapping */
121 <        if ((gv = XGetDefault(ourdisplay, "radiance", "gamma")) != NULL
122 <                        || (gv = getenv("DISPLAY_GAMMA")) != NULL)
123 <                gamval = atof(gv);
124 <        if (tmInit(mytmflags(), stdprims, gamval) == NULL)
121 >        if ((ev = XGetDefault(ourdisplay, "radiance", "gamma")) != NULL
122 >                        || (ev = getenv("DISPLAY_GAMMA")) != NULL)
123 >                gamval = atof(ev);
124 >        if ((ev = getenv("DISPLAY_PRIMARIES")) != NULL &&
125 >                        sscanf(ev, "%f %f %f %f %f %f %f %f",
126 >                                &myprims[RED][CIEX],&myprims[RED][CIEY],
127 >                                &myprims[GRN][CIEX],&myprims[GRN][CIEY],
128 >                                &myprims[BLU][CIEX],&myprims[BLU][CIEY],
129 >                                &myprims[WHT][CIEX],&myprims[WHT][CIEY]) >= 6)
130 >                dpri = myprims;
131 >        if (tmInit(mytmflags(), dpri, gamval) == NULL)
132                  error(SYSTEM, "not enough memory in dev_open");
133                                          /* open window */
134          ourwinattr.background_pixel = ourblack;
# Line 195 | Line 204 | dev_close()                    /* close our display and free resources
204   }
205  
206  
207 + dev_clear()                     /* clear our quadtree */
208 + {
209 +        qtCompost(100);
210 +        glClear(GL_DEPTH_BUFFER_BIT);
211 +        rayqleft = 0;                   /* hold off update */
212 + }
213 +
214 +
215   int
216   dev_view(nv)                    /* assign new driver view */
217   register VIEW   *nv;
# Line 594 | Line 611 | register XKeyPressedEvent  *ekey;
611                  glFlush();
612                  qtCompost(100);                 /* get rid of old values */
613                  inpresflags |= DFL(DC_REDRAW);  /* resend values from server */
614 +                rayqleft = 0;                   /* hold off update */
615                  return;
616          case 'K':                       /* kill rtrace process(es) */
617                  inpresflags |= DFL(DC_KILL);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines