
\u867d\u7136\u6570\u5b66\u8fd8\u53ef\u4ee5\uff0c\u51fd\u6570\u56fe\u50cf\u4e5f\u4e86\u89e3\uff0c\u4f46\u6700\u56f0\u6270\u7684\u5c31\u662f\u65e0\u6cd5\u6309\u81ea\u5df1\u7684\u60f3\u6cd5\u4ea7\u751f\u7ed3\u679c\u3002
\n" }, { "author": { "url": "member/shawnLuo", "name": "shawnLuo", "avatar": "https://cdn.v2ex.com/avatar/0d0a/40de/340810_large.png?m=1578036489" }, "url": "t/633951", "title": "opengl \u4e2d\u5982\u4f55\u5b9e\u73b0\u6309\u4e0b\u9f20\u6807\uff0c\u4f7f\u5f97\u4e09\u7ef4\u7269\u4f53\u8fde\u7eed\u65cb\u8f6c\uff1f", "id": "t/633951", "date_published": "2019-12-31T08:01:55+00:00", "content_html": "void mouse(int btn, int state, int x, int y)\n{\nint mod = glutGetModifiers();\nif(btn==GLUT_LEFT_BUTTON && state == GLUT_DOWN) axis = 0;\nif(mod&GLUT_ACTIVE_CTRL &&btn==GLUT_LEFT_BUTTON && state == GLUT_DOWN) axis = 1;\nif(btn==GLUT_RIGHT_BUTTON && state == GLUT_DOWN) axis = 2;
\ntheta[axis] += 2.0;\nif( theta[axis] > 360.0 ) theta[axis] -= 360.0;\ndisplay();
\n}\n\u5c1d\u8bd5\u4e86\u52a0\u5165 GLUT_UP \u3000\u5224\u65ad\uff0c\u4f46\u662f\u6ca1\u7528
\n" }, { "author": { "url": "member/Livid", "name": "Livid", "avatar": "https://cdn.v2ex.com/avatar/c4ca/4238/1_large.png?m=1778546420" }, "url": "t/290291", "title": "\u7528\u8d85\u6162\u901f\u53ef\u89c6\u5316 3D \u7b97\u6cd5\u7684\u7ed8\u5236\u8fc7\u7a0b", "id": "t/290291", "date_published": "2016-07-04T18:22:36+00:00", "content_html": "http://orbides.org/apps/superslow.html" }, { "author": { "url": "member/Livid", "name": "Livid", "avatar": "https://cdn.v2ex.com/avatar/c4ca/4238/1_large.png?m=1778546420" }, "url": "t/211602", "title": "WebGLStudio.js", "id": "t/211602", "date_published": "2015-08-07T11:55:39+00:00", "content_html": "http://webglstudio.org/\r