ʲôÊÇCSGÄØ£¿CSGÊÇConstructive Solid Geometry£¨¹¹ÔìʵÌ弸ºÎ£©µÄËõд£¬ËüʹÓüòµ¥µÄ3DͼÐÎÀ´¹¹Ô츴ÔÓͼÐΡ£Ò²¾ÍÊÇ˵£¬Í¨¹ý¸½¼Ó»òÇó²îµÄ·½·¨¿ÉÒÔ½øÐÐͼÐεÄ×éºÏ£¬ÄÇЩ²»ÊÇÓÉCSG²Ù ×÷²úÉúµÄ×î»ù±¾µÄͼÐγÆÖ®Îªprimitives£¨»ùÔª£©£¬»ùÔª±ØÐëÊÇʵÌ壬¼´»ùÔª±ØÐëÒªÓÐÃ÷È·µÄÄÚ²¿»òÕßÍⲿ¶¨Ò塣ͨ¹ý¹¹½¨£¬Ò»¸öCSGÒ²Ò»¶¨ÊÇʵÌå¡£
»ùÓÚͼÏñµÄCSGäÖȾ£¨Éî¶È»º³åÇøCSGäÖȾ£©ÊÇÒ»¸öרÓÃÃû´Ê£¬ËüΪ¼¸ºÎ±ß½çδ¾¹ýÃ÷È·¼ÆËãµÄ CSGÐÎ×´Ö¸¶¨äÖȾËã·¨£¬ÕâÖÖË㷨ʹÓÃͼÐÎÓ²¼þµÄÖ¡»º³åÇøÉèÖã¬ÈçÉî¶È»º´æ»òÄ£°å»º´æ£¬À´¹¹½¨CSGÐÎ×´¡£OpenCSGʵÏÖ¶àÖÖËã·¨½áºÏ£¬ÆäÖоÍÓÐ goldfeatherËã·¨ºÍSCSËã·¨¡£
Óŵ㣺
CSGÊǾ³£±»ÓÃ×÷ÔÚCAD/CAMÓ¦ÓóÌÐòÖеĻù±¾½¨Ä£¼¼Êõ¡£ÕâÀ»ùÓÚͼÏñµÄCSGÊǽ»»¥²Ù×÷CSGÐÎ×´µÄ¹Ø¼ü¡£ÓÉÓÚOpenCSG¶Ô¸ü¸´ÔÓµÄͼÏñäÖȾ½ÏΪ¿ìËÙ£¬ËùÒÔËüÄÜÓÐЧµØÔÚÕâЩӦÓÃÖÐʹÓá£
ºÜ¾ÃÒÔǰÖîÈçPovRayÕâÑùµÄ»æÍ¼¹¤¾ß¾ÍÒѾʹÓÃCSG½øÐÐͼÏñ½¨Ä£ÁË¡£¾¡¹ÜÕâÖÖ»æÍ¼¹¤¾ßµÄ»¥¶¯½¨Ä£¹¤¾ß°üǡǡºöÂÔCSGÃüÁµ«OpenCSG´ú±íÁËÕâÖÖÓ¦ÓÃÈí¼þµÄÒ»ÖÖÓмÛÖµµÄ¸½¼ÓÆ·¡£
×ܵÄÀ´Ëµ£¬µ½Ä¿Ç°ÎªÖ¹CSGäÖȾÒѾ¼¸ºõûÓÐÔÙÓÃÓÚ½»»¥Ê½Ó¦ÓóÌÐò£¬ÒòΪËùÐèµÄËã·¨¸´ÔÓÇÒÈÝÒ׳ö´í¡£ÎÒÃÇÏ£Íûͨ¹ýÌṩһ¸öÃâ·ÑµÄ¿â£¬Õâ¸ö¿âÊÇÒ×ÓÚʹÓᢿìËÙÁé»îµÄ£¬Õ⽫ʹËü±ÈĿǰ¸üΪÖ÷Á÷¡£
ÏȾöÌõ¼þ£º
OpenCSGµÄ¿âÒªÇóÔÚOpenGLÖÐÒ²Ö§³ÖPBuffer»òÖ¡»º³å¶ÔÏóµÄͼÐÎÓ²¼þ¡£ÔÚPBuffersÌõ¼þÏ£¬Èç¹ûäÖȾµ½ÎÆÀíµÄÏà¹ØÉ豸Ҳ±»Ö§³ÖÕ⽫ÊÇÓÐÀûµÄ£¬Èç½ñOpenCSGʹÓÃRenderTextureÀà×÷ΪPBuffer¿â¡£
Ò»Ö±ÒÔÀ´£¬PBuffersÒѱ»¹ã·ºÖ§³Ö¡£NVidiaÖÁÉÙ×Ô Radeon ϵÁоͿªÊ¼Ö§³ÖPBuffers£¬ËæºóÊÇRiva TNT ºÍ ATI£»ÆäËû¹©Ó¦ÉÌÉú²úµÄͼÐÎÓ²¼þËÆºõ²¢²»Ö§³ÖPBuffers¡£Òò´Ë£¬Èç¹ûÄú²»ÊìϤͼÐÎÓ²¼þ²¢ÇÒÔËÆø½Ï²îµÄ»°¿ÉÄܾÍÎÞ·¨Ê¹ÓÃOpenCSGÀ´ÔËÐгÌÐò¡£ ÔÚLinuxÌõ¼þÏ£¬Äú¿ÉÄÜÐèҪѡÔñͬʱ֧³ÖOpenGLÈí¼þäÖȾÓëPBuffers¡£
Ö¡»º³å¶ÔÏóÊÇOpenGLµÄÒ»¸ö½ÏеÄÀ©Õ¹¡£ËüÃǸüÒ×ÓÚÓÃ×÷¿ª·¢£¬ÏÖÔÚ£¨2010Ä꣩ÒѾ³ÉÊì¡£ËüÃÇÒ²ÊÇOpenGL3.0µÄÒ»²¿·Ö¡¢´Ó1.2.0OpenCSG¿ªÊ¼ÔÚĬÈÏÇé¿öÏÂʹÓÃOpenCSG£¬ÔڽϾɵİ汾ÖÐĬÈÏʹÓÃPBuffers¡£
¶ÔÓÚOpenGLÀ©Õ¹¼ì²é£¬OpenCSGʹÓÃOpenGLÀ©Õ¹¼×µÈ¿âGLEW¡£
OpenCSGдÔÚc++ÖУ¬Ê¹ÓÃÃüÃû¿Õ¼ä£¬²¢ÐèÒªSTL¡£ÔÚWindowsÏÂÎÒ²»Ï£ÍûÖ÷Òª±à ÒëÆ÷²»¼æÈÝ¡£MSVC6, VC2003 .netºÍDev-C++ 5 beta¶¼ÌṩÏàÓ¦µÄ¹¤×÷Çø¡£ÔÚLinux»·¾³Ï£¬ÄúÓ¦¸ÃʹÓÃgcc3»òÕ߸ü¸ß°æ±¾¡£ÓÉÓڸñàÒëÆ÷²¢²»ÄÜ´¦Àí±ØÐëÔÚÄÚ²¿Ê¹ÓõÄstd::mapʵÏÖ£¬ÖÂʹ gcc 2.95.x²»ÔÙÓÐЧ¡£
ÒªÔËÐкÃOpenCSG£¬ÄúÓ¦¸ÃÓиßÌî³äÂʵÄͼÐÎÓ²¼þ¡£NVidia ͼÐÎÓ²¼þ×Ô´Ó GeForce ºÍ ATI Radeon ÒÔºóÂú×ãÁËÒÔÉÏÒªÇó¡£ÔÚOpenCSG::OcclusionQueryÑ¡ÏîÏÔÈ»ÐèÒª·â±Õ²éѯ£¬Õâ¸öÑ¡ÏÄÜÊÇ´ÓRadeon 9x00£¨x>= 5£©ºÍGeForce3£¨×¢Ò⣬GeForce4MXµÄÊýÁ¿ÎªGeForce2£¡£©ÏÔ¿¨Ð¾Æ¬³öÏÖÒÔºó²Å¿ªÊ¼Ö§³ÖµÄ¡£
OpenCSG Òѳɹ¦µØÔÚÓ¢ÌØ¶ûºÍAMDµÄÓ²¼þÉÏʹÓà Radeon HD 4670¡¢ GeForce 8 x 00¡¢GeForceFX 6800¡¢5600 GeForceFX£¬Radeon 9700¡¢ GeForce3¡¢GeForce4MX ºÍ TNT2ͼÐÎÓ²¼þÔËÐУ¨Ô½ÍùºóÔ½Âý£©¡£
ÔÚRadeon9000ÉÏ£¬OpenCSG»áÔÚ³ýÁ˱ê×¼GoldfeatheräÖȾ·¾¶ÒÔÍâµÄÆäËûÈκεط½²úÉúäÖȾ´íÎó£¬ÕâÒ»Çé¿öÔø¹ãΪÈËÖª£¬ÕâÊÇ·ñÊÇÇý¶¯Æ÷µÄÎÊÌâ²¢²»ºÜÇå³þ¡£ÎÒûÓÐÔÚNVidia»òATI/AMDÒÔÍâµÄͼÐÎÓ²¼þÉÏÔËÐÐOpenCSGµÄ¾Ñé¡£
ʹÓÃÇé¿ö£º
OpenCSGµÄ½Ó¿Ú·Ç³£ÈÝÒ×ʹÓá£Ö»ÓÐÒ»¸ö½Ð×öOpenCSG::PrimitiveµÄ³éÏóÀà¡£A»ùÔª¶ÔÏó°üº¬Ò»¸ö±íʾÊǸ½¼Ó»¹ÊÇÇó²îµÄÊôÐÔ²Ù×÷¡£Ê¹ÓÃOpenCSG¿ÉÒÔͨ¹ýÖ´ÐÐrender()·½·¨À´´´½¨Ò»¸öÅÉÉú×Ô¾ßÌå»ùÔªµÄÀà¡£
Èç½ñʵÏÖCSGäÖȾ£¬ÓÐÒ»¸ö½«std::vector
Ö÷Ò³£ºhttp://www.opencsg.org/
ÏÂÔØ£ºhttp://www.opencsg.org/OpenCSG-1.3.2.tar.gz
À´×Ô:¿ªÔ´ÖйúÉçÇø

