{"id":3456,"date":"2018-01-03T13:33:36","date_gmt":"2018-01-03T05:33:36","guid":{"rendered":"http:\/\/www.bookcard.net\/wordpress\/?p=3456"},"modified":"2018-10-14T21:29:06","modified_gmt":"2018-10-14T13:29:06","slug":"opengl_pixel_format","status":"publish","type":"post","link":"https:\/\/www.bookcard.net\/wordpress\/opengl_pixel_format\/","title":{"rendered":"OpenGL\u4e4b\u50cf\u7d20\u683c\u5f0f"},"content":{"rendered":"<figure id=\"attachment_3457\" aria-describedby=\"caption-attachment-3457\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2018\/01\/OpenGL_PIXEL_FORMAT.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-3457\" src=\"https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2018\/01\/OpenGL_PIXEL_FORMAT.jpg\" alt=\"\" width=\"1024\" height=\"768\" srcset=\"https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2018\/01\/OpenGL_PIXEL_FORMAT.jpg 1024w, https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2018\/01\/OpenGL_PIXEL_FORMAT-300x225.jpg 300w, https:\/\/www.bookcard.net\/wordpress\/wp-content\/uploads\/2018\/01\/OpenGL_PIXEL_FORMAT-768x576.jpg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption id=\"caption-attachment-3457\" class=\"wp-caption-text\">OpenGL\u4e4b\u50cf\u7d20\u683c\u5f0f<\/figcaption><\/figure>\n<p>\u5728OpenGL\u5de5\u4f5c\u4e4b\u524d\u9700\u8981\u8a2d\u5b9a\u7576\u524d\u74b0\u5883\u8a2d\u5099(\u986f\u5361)\u50cf\u7d20\u683c\u5f0f,\u53ea\u9700\u4e09\u6b65:<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"284\">\u8a2d\u5b9a\u50cf\u7d20\u683c\u5f0f<\/td>\n<td width=\"284\">\u7c21\u4ecb<\/td>\n<\/tr>\n<tr>\n<td width=\"284\">PIXELFORMATDESCRIPTOR<\/td>\n<td width=\"284\">\u586b\u5145\u50cf\u7d20\u683c\u5f0f<\/td>\n<\/tr>\n<tr>\n<td width=\"284\">ChoosePixelFormat()<\/td>\n<td width=\"284\">\u7372\u53d6\u986f\u5361\u652f\u6301\u7684\u50cf\u7d20\u683c\u5f0f,\u8fd4\u56de\u7d22\u5f15<\/td>\n<\/tr>\n<tr>\n<td width=\"284\">SetPixelFormat()<\/td>\n<td width=\"284\">\u8a2d\u7f6e\u7576\u524d\u74b0\u5883\u8a2d\u5099(\u986f\u5361)\u7684\u50cf\u7d20\u683c\u5f0f<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>PIXELFORMATDESCRIPTOR\u9700\u8981\u586b\u88dc\u7684\u6578\u503c\u8f03\u591a<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"127\">\u5b57\u6bb5<\/td>\n<td width=\"264\">\u586b\u5145\u6578\u503c<\/td>\n<td width=\"177\">\u50cf\u7d20\u683c\u5f0f\u7c21\u4ecb<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">iPixelType<\/td>\n<td width=\"264\">sizeof(PIXELFORMATDESCRIPTOR)<\/td>\n<td width=\"177\">\u7d50\u69cb\u7684\u5927\u5c0f<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">nVersion<\/td>\n<td width=\"264\">1<\/td>\n<td width=\"177\">\u7248\u672c\u865f\u586b1<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"14\" width=\"127\">dwFlags<\/td>\n<td width=\"264\">PFD_DRAW_TO_WINDOW<\/td>\n<td width=\"177\">\u652f\u6301\u5728\u7a97\u53e3\u7e6a\u756b<\/td>\n<\/tr>\n<tr>\n<td width=\"264\">PFD_DRAW_TO_BITMAP<\/td>\n<td width=\"177\">\u652f\u6301\u5728\u4f4d\u5716\u7e6a\u756b<\/td>\n<\/tr>\n<tr>\n<td width=\"264\">PFD_SUPPORT_GDI<\/td>\n<td width=\"177\">\u7de9\u5b58\u652f\u6301GUI\u7e6a\u756b<\/td>\n<\/tr>\n<tr>\n<td width=\"264\">PFD_SUPPORT_OPENGL<\/td>\n<td width=\"177\">\u7de9\u5b58\u652f\u6301OPENGL\u7e6a\u756b<\/td>\n<\/tr>\n<tr>\n<td width=\"264\">PFD_GENERIC_ACCELERATED<\/td>\n<td width=\"177\"><\/td>\n<\/tr>\n<tr>\n<td width=\"264\">PFD_GENERIC_FORMAT<\/td>\n<td width=\"177\"><\/td>\n<\/tr>\n<tr>\n<td width=\"264\">PFD_NEED_PALETTE<\/td>\n<td width=\"177\"><\/td>\n<\/tr>\n<tr>\n<td width=\"264\">PFD_NEED_SYSTEM_PALETTE<\/td>\n<td width=\"177\"><\/td>\n<\/tr>\n<tr>\n<td width=\"264\">PFD_DOUBLEBUFFER<\/td>\n<td width=\"177\">\u652f\u6301\u96d9\u7de9\u5b58<\/td>\n<\/tr>\n<tr>\n<td width=\"264\">PFD_STEREO<\/td>\n<td width=\"177\"><\/td>\n<\/tr>\n<tr>\n<td width=\"264\">PFD_SWAP_LAYER_BUFFERS<\/td>\n<td width=\"177\">\u652f\u6301\u4ea4\u63dbLayer\u7de9\u5b58<\/td>\n<\/tr>\n<tr>\n<td width=\"264\">PFD_DEPTH_DONTCARE<\/td>\n<td width=\"177\">\u652f\u6301Z\u7de9\u5b58<\/td>\n<\/tr>\n<tr>\n<td width=\"264\">PFD_DOUBLEBUFFER_DONTCARE<\/td>\n<td width=\"177\"><\/td>\n<\/tr>\n<tr>\n<td width=\"264\">PFD_STEREO_DONTCARE<\/td>\n<td width=\"177\"><\/td>\n<\/tr>\n<tr>\n<td rowspan=\"2\" width=\"127\">iPixelType<\/td>\n<td width=\"264\">PFD_TYPE_RGBA<\/td>\n<td width=\"177\">RGBA\u50cf\u7d20<\/td>\n<\/tr>\n<tr>\n<td width=\"264\">PFD_TYPE_COLORINDEX<\/td>\n<td width=\"177\">256\u8272\u4f7f\u7528\u8abf\u8272\u677f\u7d22\u5f15<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">cColorBits<\/td>\n<td width=\"264\">32\u300124\u300116\u30018<\/td>\n<td width=\"177\">\u6bcf\u50cf\u7d20\u6240\u5360\u5b57\u7bc0\u6578<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">cRedBits<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">\u7d05\u8272\u6240\u5360Bit\u6578<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">cRedShift<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">\u7d05\u8272\u504f\u79fbBit\u91cf<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">cGreenBits<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">\u7da0\u8272\u6240\u5360Bit\u6578<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">cGreenShift<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">\u7da0\u8272\u504f\u79fbBit\u91cf<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">cBlueBits<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">\u85cd\u8272\u6240\u5360Bit\u6578<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">cBlueShift<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">\u85cd\u8272\u504f\u79fbBit\u91cf<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">cAlphaBits<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">Alpha\u6240\u5360Bit\u6578<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">cAlphaShift<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">Alpha\u504f\u79fbBit\u91cf<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">cAccumBits<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">\u7d2f\u52a0\u7de9\u5b58Bit\u6578<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">cAccumRedBits<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">\u7d05\u8272\u7d2f\u52a0\u7de9\u5b58Bit\u6578<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">cAccumGreenBits<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">\u7da0\u8272\u7d2f\u52a0\u7de9\u5b58Bit\u6578<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">cAccumBlueBits<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">\u85cd\u8272\u7d2f\u52a0\u7de9\u5b58Bit\u6578<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">cAccumAlphaBits<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">Alpha\u7d2f\u52a0\u7de9\u5b58Bit\u6578<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">cDepthBits<\/td>\n<td width=\"264\">16<\/td>\n<td width=\"177\">z-buffer(Z\u7de9\u5b58)\u5927\u5c0f<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">cStencilBits<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">\u6a21\u677f\u7de9\u5b58Bit\u6578<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">cAuxBuffers<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">\u8f14\u52a9\u7de9\u5b58Bit\u6578<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">iLayerType<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">\u7e6a\u88fd\u5e73\u9762<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">bReserved<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">\u4fdd\u7559\u5b57\u6bb5<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">dwLayerMask<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">\u4e0d\u5728\u4f7f\u7528<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">dwVisibleMask<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">\u900f\u660e\u8272\u63a9\u78bc\u7d22\u5f15<\/td>\n<\/tr>\n<tr>\n<td width=\"127\">dwDamageMask<\/td>\n<td width=\"264\">0<\/td>\n<td width=\"177\">\u4e0d\u5728\u4f7f\u7528<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>\u6700\u5f8c\u7d66\u51fa\u5b8c\u6574\u4ee3\u78bc<\/p>\n<p>void Setup_PixelFormat_OpenGL(HDC hDC)<\/p>\n<p>{<\/p>\n<p>PIXELFORMATDESCRIPTOR pfd;<\/p>\n<p>int index;<\/p>\n<p>pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR);\/\/ \u7d50\u69cb\u7684\u5927\u5c0f<\/p>\n<p>pfd.nVersion = 1;\/\/\u7248\u672c\u865f\u586b1<\/p>\n<p>pfd.dwFlags\u00a0 = PFD_DRAW_TO_WINDOW |\/\/\u00a0 \u652f\u6301\u7a97\u53e3<\/p>\n<p>PFD_SUPPORT_OPENGL |\/\/ \u652f\u6301OPENGL<\/p>\n<p>PFD_DOUBLEBUFFER\u00a0\u00a0 ;\/\/ \u652f\u6301\u96d9\u7de9\u5b58<\/p>\n<p>pfd.iPixelType = PFD_TYPE_RGBA;\/\/ \u50cf\u7d20\u6578\u64da\u985e\u578bRGBA<\/p>\n<p>pfd.cColorBits = 16;\/\/ 16bit\u6bcf\u50cf\u7d20\u6240\u5360\u5b57\u7bc0\u6578<\/p>\n<p>pfd.cRedBits\u00a0\u00a0 = 0;\/\/ \u7d05\u8272\u6240\u5360Bit\u6578<\/p>\n<p>pfd.cRedShift\u00a0 = 0;\/\/ \u7d05\u8272\u504f\u79fbBit\u91cf<\/p>\n<p>pfd.cGreenBits\u00a0\u00a0 = 0;\/\/ \u7da0\u8272\u6240\u5360Bit\u6578<\/p>\n<p>pfd.cGreenShift\u00a0 = 0;\/\/ \u7da0\u8272\u504f\u79fbBit\u91cf<\/p>\n<p>pfd.cBlueBits\u00a0\u00a0 = 0;\/\/ \u85cd\u8272\u6240\u5360Bit\u6578<\/p>\n<p>pfd.cBlueShift\u00a0 = 0;\/\/ \u85cd\u8272\u504f\u79fbBit\u91cf<\/p>\n<p>pfd.cAlphaBits\u00a0 = 0;\/\/ Alpha\u6240\u5360Bit\u6578<\/p>\n<p>pfd.cAlphaShift\u00a0 = 0;\/\/ Alpha\u504f\u79fbBit\u91cf<\/p>\n<p>pfd.cAccumBits\u00a0\u00a0\u00a0\u00a0\u00a0 = 0;\/\/ \u7d2f\u52a0\u7de9\u5b58Bit\u6578<\/p>\n<p>pfd.cAccumRedBits\u00a0\u00a0 = 0;\/\/ \u7d05\u8272\u7d2f\u52a0\u7de9\u5b58Bit\u6578<\/p>\n<p>pfd.cAccumGreenBits = 0;\/\/ \u7da0\u8272\u7d2f\u52a0\u7de9\u5b58Bit\u6578<\/p>\n<p>pfd.cAccumBlueBits\u00a0 = 0;\/\/ \u85cd\u8272\u7d2f\u52a0\u7de9\u5b58Bit\u6578<\/p>\n<p>pfd.cAccumAlphaBits = 0;\/\/ Alpha\u7d2f\u52a0\u7de9\u5b58Bit\u6578<\/p>\n<p>pfd.cDepthBits\u00a0\u00a0\u00a0\u00a0\u00a0 = 16;\/\/ 16bit z-buffer(Z\u7de9\u5b58)\u5927\u5c0f<\/p>\n<p>pfd.cStencilBits\u00a0\u00a0\u00a0 = 0;\/\/ \u6a21\u677f\u7de9\u5b58Bit\u6578<\/p>\n<p>pfd.cAuxBuffers\u00a0\u00a0\u00a0\u00a0 = 0;\/\/ \u8f14\u52a9\u7de9\u5b58Bit\u6578<\/p>\n<p>pfd.iLayerType\u00a0\u00a0\u00a0\u00a0\u00a0 = 0;\/\/ \u7121\u7e6a\u88fd\u5e73\u9762<\/p>\n<p>pfd.bReserved\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0= 0;\/\/ \u4fdd\u7559\u5b57\u6bb5<\/p>\n<p>pfd.dwLayerMask\u00a0\u00a0\u00a0\u00a0 = 0;\/\/ \u4e0d\u5728\u4f7f\u7528<\/p>\n<p>pfd.dwVisibleMask\u00a0\u00a0 = 0;\/\/ \u900f\u660e\u8272\u63a9\u78bc\u7d22\u5f15<\/p>\n<p>pfd.dwDamageMask\u00a0\u00a0\u00a0 = 0;\/\/ \u4e0d\u518d\u4f7f\u7528\u4e86<\/p>\n<p>\/\/ \u7372\u53d6\u7576\u524d\u74b0\u5883\u8a2d\u5099(\u986f\u5361)\u652f\u6301\u7684\u50cf\u7d20\u683c\u5f0f,\u8fd4\u56de\u7d22\u5f15<\/p>\n<p>index = ::ChoosePixelFormat(hDC,&amp;pfd);<\/p>\n<p>\/\/ \u8a2d\u7f6e\u7576\u524d\u74b0\u5883\u8a2d\u5099(\u986f\u5361)\u7684\u50cf\u7d20\u683c\u5f0f<\/p>\n<p>::SetPixelFormat(hDC,index,&amp;pfd);<\/p>\n<p>}<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5728OpenGL\u5de5\u4f5c\u4e4b\u524d\u9700\u8981\u8a2d\u5b9a\u7576\u524d\u74b0\u5883\u8a2d\u5099(\u986f\u5361)\u50cf\u7d20\u683c\u5f0f,\u53ea\u9700\u4e09\u6b65: \u8a2d\u5b9a\u50cf\u7d20\u683c\u5f0f \u7c21\u4ecb PIXELFORM &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.bookcard.net\/wordpress\/opengl_pixel_format\/\" class=\"more-link\">\u7e7c\u7e8c\u95b1\u8b80 <span class=\"screen-reader-text\">OpenGL\u4e4b\u50cf\u7d20\u683c\u5f0f<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[62],"tags":[50],"class_list":["post-3456","post","type-post","status-publish","format-standard","hentry","category-opengl","tag-opengl","entry"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/posts\/3456","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/comments?post=3456"}],"version-history":[{"count":2,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/posts\/3456\/revisions"}],"predecessor-version":[{"id":3459,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/posts\/3456\/revisions\/3459"}],"wp:attachment":[{"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/media?parent=3456"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/categories?post=3456"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bookcard.net\/wordpress\/wp-json\/wp\/v2\/tags?post=3456"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}