Changeset 65
- Timestamp:
- 11/19/11 11:57:53 (6 months ago)
- Files:
-
- 1 modified
-
trunk/src/pdfcube.cc (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/pdfcube.cc
r62 r65 39 39 #include <gtk/gtkgl.h> 40 40 41 // OpenGL (-lglut)41 // OpenGL 42 42 #include <GL/gl.h> 43 43 #include <GL/glu.h> … … 139 139 pixmap = 140 140 cairo_image_surface_create(CAIRO_FORMAT_ARGB32, 141 tex_width,142 tex_height);141 (double)tex_width, 142 (double)tex_height); 143 143 context = cairo_create(pixmap); 144 cairo_scale(context, tex_width/w, (double)tex_height/h);144 cairo_scale(context, ((double)tex_width)/w, ((double)tex_height)/h); 145 145 146 146 steps = new GLfloat[N_FRAMES]; … … 236 236 void 237 237 initialize(GtkWidget * widget) { 238 GLfloat position[] = { 1.0, 1.0, 0.0, 1.0 };238 GLfloat position[] = { 1.0, 0.0, 0.0, 1.0 }; 239 239 GLfloat local_view[] = { 0.0 }; 240 240 … … 242 242 glEnable(GL_TEXTURE_RECTANGLE_ARB); 243 243 244 GLfloat mat_ambient[] = { 0.0, 0.0, 0.0, 0.00 };245 GLfloat mat_specular[] = { 1.0, 1.0, 1.0, 0.00 };246 GLfloat mat_shininess[] = { 3.0};244 GLfloat mat_ambient[] = { 1.0, 1.0, 1.0, 0.00 }; 245 // GLfloat mat_specular[] = { 1.0, 1.0, 1.0, 0.00 }; 246 // GLfloat mat_shininess[] = { 0.2 }; 247 247 248 248 glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient); … … 252 252 glEnable(GL_LIGHTING); 253 253 glEnable(GL_LIGHT0); 254 glEnable(GL_BLEND);254 // glEnable(GL_BLEND); 255 255 glEnable(GL_CULL_FACE); 256 glEnable(GL_POLYGON_SMOOTH);257 glPolygonMode(GL_FRONT, GL_FILL);258 glEdgeFlag(GL_FALSE);256 // glEnable(GL_POLYGON_SMOOTH); 257 // glPolygonMode(GL_FRONT, GL_FILL); 258 // glEdgeFlag(GL_FALSE); 259 259 260 glClearColor(clear_color[0], clear_color[1], clear_color[2], clear_color[3]); 260 glClearColor(clear_color[0], clear_color[1], clear_color[2], 261 clear_color[3]); 261 262 glCullFace(GL_FRONT); 262 glDisable(GL_DEPTH_TEST);263 264 //glEnable(GL_DEPTH_TEST);265 //glDepthFunc(GL_LEQUAL);263 // glDisable(GL_DEPTH_TEST); 264 265 // glEnable(GL_DEPTH_TEST); 266 // glDepthFunc(GL_LEQUAL); 266 267 glLightfv(GL_LIGHT0, GL_POSITION, position); 267 glLightModelfv(GL_LIGHT_MODEL_LOCAL_VIEWER, local_view); 268 269 glFrontFace(GL_CCW); 270 glEnable(GL_LIGHTING); 271 glEnable(GL_LIGHT0); 268 glLightfv(GL_LIGHT0, GL_COLOR, mat_ambient); 269 // glLightModelfv(GL_LIGHT_MODEL_LOCAL_VIEWER, local_view); 270 271 // glFrontFace(GL_CCW); 272 // glEnable(GL_LIGHTING); 273 // glEnable(GL_LIGHT0); 272 274 glEnable(GL_AUTO_NORMAL); 273 275 glEnable(GL_NORMALIZE); … … 722 724 723 725 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 724 // glClear(GL_COLOR_BUFFER_BIT);725 726 glMatrixMode(GL_PROJECTION); 726 727 glLoadIdentity(); … … 1044 1045 render_page(int i) { 1045 1046 PopplerPage *page; 1047 double w, h; 1046 1048 page = poppler_document_get_page(doc, i); 1047 //double w,h; 1048 //poppler_page_get_size(page, &w, &h); 1049 poppler_page_get_size(page, &w, &h); 1049 1050 cairo_save(context); 1050 unsigned char* data = cairo_image_surface_get_data(pixmap);1051 std::fill(data, data+4*tex_width*tex_height,0);1052 cairo_ surface_mark_dirty(pixmap);1051 cairo_rectangle(context, 0.0, 0.0, w, h); 1052 cairo_set_source_rgb(context, 1.0, 1.0, 1.0); 1053 cairo_fill(context); 1053 1054 poppler_page_render(page, context); 1054 1055 cairo_restore(context); … … 1800 1801 /* Try double-buffered visual */ 1801 1802 glconfig = gdk_gl_config_new_by_mode((GdkGLConfigMode) 1802 (GDK_GL_MODE_RGBA | 1803 GDK_GL_MODE_ALPHA | 1804 GDK_GL_MODE_RGB | 1803 (GDK_GL_MODE_RGB | 1805 1804 GDK_GL_MODE_DEPTH | 1806 GDK_GL_MODE_DOUBLE)); 1805 GDK_GL_MODE_DOUBLE 1806 )); 1807 1807 if (glconfig == NULL) { 1808 1808 g_print("\n*** Cannot find the double-buffered visual.\n"); … … 1899 1899 cout << endl << "pdfcube 0.0.4" << endl; 1900 1900 cout << "=============" << endl; 1901 cout << "Copyright (C) 2006-20 08Mirko Maischberger <mirko.maischberger@gmail.com>" << endl;1901 cout << "Copyright (C) 2006-2011 Mirko Maischberger <mirko.maischberger@gmail.com>" << endl; 1902 1902 cout << " 2008 Karol Sokolowski <sokoow@gmail.com>" << endl << endl; 1903 1903 cout << opts << endl; … … 2018 2018 break; 2019 2019 case POPPLER_PAGE_TRANSITION_BOX: 2020 cerr << "Supported transition type (" << transition->type 2021 << ") at page " << (ii+1) << endl; 2020 2022 page_transition[ii] = true; 2021 2023 break; 2022 2024 default: 2023 cerr << "Unsup orted transition type (" << transition->type2025 cerr << "Unsupported transition type (" << transition->type 2024 2026 << ") at page " << (ii+1) << endl; 2025 2027 break;

