Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
(25) |
Apr
(38) |
May
(9) |
Jun
(39) |
Jul
(64) |
Aug
(73) |
Sep
(86) |
Oct
(91) |
Nov
(112) |
Dec
(90) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(158) |
Feb
(178) |
Mar
(305) |
Apr
(269) |
May
(302) |
Jun
(126) |
Jul
(171) |
Aug
(143) |
Sep
(146) |
Oct
(96) |
Nov
(105) |
Dec
(100) |
2002 |
Jan
(112) |
Feb
(50) |
Mar
(91) |
Apr
(88) |
May
(99) |
Jun
(217) |
Jul
(95) |
Aug
(129) |
Sep
(107) |
Oct
(283) |
Nov
(261) |
Dec
(153) |
2003 |
Jan
(203) |
Feb
(129) |
Mar
(125) |
Apr
(159) |
May
(120) |
Jun
(165) |
Jul
(185) |
Aug
(181) |
Sep
(149) |
Oct
(165) |
Nov
(199) |
Dec
(165) |
2004 |
Jan
(121) |
Feb
(155) |
Mar
(246) |
Apr
(132) |
May
(113) |
Jun
(59) |
Jul
(146) |
Aug
(58) |
Sep
(96) |
Oct
(150) |
Nov
(143) |
Dec
(66) |
2005 |
Jan
(194) |
Feb
(193) |
Mar
(127) |
Apr
(53) |
May
(74) |
Jun
(43) |
Jul
(45) |
Aug
(83) |
Sep
(72) |
Oct
(74) |
Nov
(103) |
Dec
(79) |
2006 |
Jan
(129) |
Feb
(116) |
Mar
(124) |
Apr
(97) |
May
(44) |
Jun
(48) |
Jul
(22) |
Aug
(38) |
Sep
(23) |
Oct
(68) |
Nov
(62) |
Dec
(41) |
2007 |
Jan
(41) |
Feb
(27) |
Mar
(22) |
Apr
(19) |
May
(17) |
Jun
(11) |
Jul
(5) |
Aug
(6) |
Sep
(13) |
Oct
(21) |
Nov
(13) |
Dec
(18) |
2008 |
Jan
(25) |
Feb
(7) |
Mar
(19) |
Apr
|
May
(12) |
Jun
(12) |
Jul
(3) |
Aug
(14) |
Sep
(5) |
Oct
|
Nov
(5) |
Dec
(4) |
2009 |
Jan
|
Feb
(4) |
Mar
|
Apr
(2) |
May
(2) |
Jun
(3) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
(7) |
2010 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
|
|
1
|
2
(4) |
3
(2) |
4
(5) |
5
|
6
(4) |
7
(8) |
8
(3) |
9
|
10
(1) |
11
(1) |
12
(1) |
13
|
14
(3) |
15
(3) |
16
|
17
(2) |
18
(1) |
19
|
20
(8) |
21
(22) |
22
(4) |
23
|
24
(1) |
25
(2) |
26
(1) |
27
(2) |
28
(5) |
29
|
30
(4) |
31
(4) |
|
|
|
|
|
|
From: Michael Zayats <zmichael@re...> - 2002-03-06 14:32:05
|
A few notes: the code is based on Jan Horn's Delphi demo the code is mainly Qt but is very readable headers are mainly for the completeness of view, there is nothing particularly interesting there ------ previous mail was with attachments and was supposedly dropped ---- there are one additional class header file and one header with list coordinates in arrays ---------------- videofaceview.cpp /*************************************************************************** videofaceview.cpp - description ------------------- begin : Wed Mar 6 10:04:37 EST 2002 copyright : (C) 2002 by email : ***************************************************************************/ #include <math.h> #include <GL/gl.h> #include <qgl.h> #include <qdatetime.h> #include <qtimer.h> #include "videofaceview.h" #include "face_data.h" VideoFaceView::VideoFaceView( const QGLFormat & format) : QGLWidget(format), MyTextureTex(0), FaceDL(0), MouseButton(0), Depth(0), YRot(0), XRot(0) { demoStart = QTime::currentTime(); } VideoFaceView::~VideoFaceView() { } void VideoFaceView::initializeGL() { glClearColor(0.2, 0.2, 0.4, 0.0); // Black Background glShadeModel(GL_SMOOTH); // Enables Smooth Color Shading glClearDepth(1.0); // Depth Buffer Setup glEnable(GL_DEPTH_TEST); // Enable Depth Buffer glDepthFunc(GL_LESS); // The Type Of Depth Test To Do glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); //Realy Nice perspective calculations glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glPolygonMode(GL_BACK, GL_LINE); CreateFaceDisplayList(); Depth = -1.5; YRot = 0; drawTimer.start(40); connect(&drawTimer, SIGNAL(timeout()), this, SLOT(drawTimeout())); } void VideoFaceView::resizeGL(int w, int h) { if (h == 0) h = 1; glViewport(0, 0, w, h); // Set the viewport for the OpenGL window glMatrixMode(GL_PROJECTION); // Change Matrix Mode to Projection glLoadIdentity(); // Reset View gluPerspective(45.0, w/h, 1.0, 100.0); // Do the perspective calculations. Last value = max clipping depth glMatrixMode(GL_MODELVIEW); // Return to the modelview matrix glLoadIdentity(); // Reset View } void VideoFaceView::paintGL() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); glTranslatef(0.0, -0.05, Depth); glRotatef(30*cos(elapsedTime/300)+5, 1, 0, 0); glRotatef(30*sin(elapsedTime/300), 0, 1, 0); glCallList(FaceDL); } void VideoFaceView::CreateFaceDisplayList() { int i; FaceDL =glGenLists(1); glNewList(FaceDL, GL_COMPILE); glRotated(-90, 1, 0, 0); glBegin(GL_TRIANGLES); for (i = 0; i < numTriangles; i++) { glNormal3f(normals[Face[i][3]][0], normals[ Face[i][3]][1], normals[Face[i][3]][2]); glVertex3f(vertices[Face[i][0]][0], vertices[Face[i][0]][1], vertices[Face[i][0]][2]); glNormal3f(normals[ Face[i][4]][0], normals[ Face[i][4]][1], normals[ Face[i][4]][2]); glVertex3f(vertices[Face[i][1]][0], vertices[Face[i][1]][1], vertices[Face[i][1]][2]); glNormal3f(normals[ Face[i][5]][0], normals[ Face[i][5]][1], normals[ Face[i][5]][2]); glVertex3f(vertices[Face[i][2]][0], vertices[Face[i][2]][1], vertices[Face[i][2]][2]); } glEnd(); glEndList(); } void VideoFaceView::drawTimeout() { int lastTime = elapsedTime; elapsedTime = demoStart.msecsTo(QTime::currentTime()); // Calculate Elapsed Time elapsedTime = (lastTime + elapsedTime) / 2; // Average it out for smoother movement updateGL(); } ---------------------- main.cpp /*************************************************************************** main.cpp - description ------------------- begin : Wed Mar 6 10:04:37 EST 2002 copyright : (C) 2002 by email : ***************************************************************************/ #include <qapplication.h> #include <qfont.h> #include <qstring.h> #include <qtextcodec.h> #include <qtranslator.h> #include "videofaceview.h" #include <qgl.h> #include <qdatetime.h> int main(int argc, char *argv[]) { QApplication a(argc, argv); a.setFont(QFont("helvetica", 12)); QTranslator tor( 0 ); tor.load( QString("videoface.") + QTextCodec::locale(), "." ); a.installTranslator( &tor ); QGLFormat f; f.setDoubleBuffer(true); f.setDepth(true); f.setRgba(true); f.setAlpha(false); f.setAccum(false); f.setStencil(false); f.setStereo(false); f.setDirectRendering(false); f.setOverlay(false); f.setPlane(0); VideoFaceView *videoface=new VideoFaceView(f); a.setMainWidget(videoface); videoface->resize(500, 500); videoface->show(); videoface->updateGL(); return a.exec(); } |
From: Michael Zayats <zmichael@re...> - 2002-03-06 14:12:57
|
test message |
From: Keith Whitwell <keith@tu...> - 2002-03-06 13:14:57
|
Michael Zayats wrote: > > Hello All, > > Let's define the problem: 2.4.14+4.1.0+kernel's drm modules + i810 > working perfect, gears gives very high performance, but... > > I have written a small application that doesn't use textures, but just > draws some figure (from the list) to the screen, pure and simple. > > The figure is rotating and the goal is to rotate it as fast as possible. > > On windows I get about 100 frames per second, but on linux I get: > about 10 frames per second without direct rendering and about 3 (!!!!!!!) > FPS with direct rendering. > Can you post your code? Keith |
From: Michael Zayats <zmichael@re...> - 2002-03-06 11:39:48
|
Hello All, Let's define the problem: 2.4.14+4.1.0+kernel's drm modules + i810 working perfect, gears gives very high performance, but... I have written a small application that doesn't use textures, but just draws some figure (from the list) to the screen, pure and simple. The figure is rotating and the goal is to rotate it as fast as possible. On windows I get about 100 frames per second, but on linux I get: about 10 frames per second without direct rendering and about 3 (!!!!!!!) FPS with direct rendering. what is going on? thank you in advance, Michael Zayats |