Wednesday, October 28, 2009

OpenGL의 투명 효과

OpenGL은 translucent 또는 partially opaque primite들을 rendering하기 위한 직접적인 interface를 제공하지 않는다. 그러나 blend feature와 primitive data들의 조심스러운 순서 조작과 함께 transparency effect를 구현 할 수 있다. 또한 screen door transparency를 고려 할 수도 있을 것이다.

OpenGL application을 전형적으로 다음과 같은 방법으로 blending을 enable한다.

glEnable( GL_BLEND );
glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );

Blending이 enable된 후, 처리되는 primitive color는 framebuffer에 이미 저장되어 있는 color와 blending된다. glBlendFunc()은 어떻게 blending할 것인가를 결정한다. 위의 전형적인 예제는 현재 입력된 color를 그것의 alpha value와 1 - 입력되는 alpha value로 최종 color를 수정한다. 이 두 color의 합은 다시 framebuffer에 쓰여진다.

Primitive의 opaicty는 glColor4*()를 사용하여 설정한다. RGB는 color를 설정하고, alpha parameter는 opacity를 결정한다.

Depth buffering을 사용할 경우, primitives를 rendering하는 순서에 주의를 기울일 필요가 있다. 완벽한 opaque primitives는 가장 먼저 rendering 될 필요가 있으며, 다음은 부분적으로 opaque한 primiteves들이 뒤에서 앞으로 rendering될 필요가 있다. 만약 이런 순서로 rendering하지 않는다면, 부분적으로 opaque한 primitive를 통해 보여지는 primitive들은 그들이 depth test를 모두 잃을 수 있다.

For more information:

Labels

1018 325i 3D 3D Printer 3M 500GB 7200RPM 747 850i A-GPS A-ha A8 ACCIDENT Actor Administrator Privilege ADOBE AdSense aGPS Airplane Algorithm Animation Ansur Antennagate API Apple AppleCare April Fool ARLuxrender Asian Assisted GPS ATT Audi Auto Bash Battleship BBC Bejeweled Bejeweled 3 Belkin Bike BITCOIN Black n Decker Blender Blog Blogspot Bluetooth BMW Bose Browser BTC Bump mapping Butter Butterface Butterfly C C++ C220 Calculator Calvin Klein CAR Cartoon Casshern CBR CBR600RR Cell CF CG Chair Chinese Chrome City Hunter CK Clie Clothe Coffee Coffee maker Color Comics Command Prompt Comment Commercial Compiler Computer Computer architecture Computer graphics Computer science Connex Content-Aware Fill Cowboy Bebop CRYPTOCURRENCY Cryptography CURL Cygwin Dabdate DB Decal Design Design thinking Development Digital Camera Digital communication Disaster Diskette Display Dog Dragon Ball Drama Drawing Driving Drying rack DSP Duck E-TRADE EA Earthquake Easter Egg eBay Economy Encryption ENGINEERING Error ESL etc ETH Ethernet expect F1 Face Fashion find Firefox Fish Flight Dynamics Floppy FON Food FREE Fun FWD G4 Game Gangsta Gangster GDAX GFX Ghost GIT Gizmo5 Golf Google Google Analytics Google Voice Gossip GPS Graphics Green Day GTI Gundam Gurren Lagann Hacking Hackintosh HANGOUTS HARRP HASP SRM HCI HDD Headset Helicopter Helio High-tech History Hobby Honda Horror HP HTS Humor Hyundai iBook iBook G4 IKEA Illustration Image processing information theory Initial D Intel Internet Intro Iomega iPad iPhone iPhone 4 iPhone theme iPod iPod Video Iron IU Jailbreak Japan Java Jawbone Jeremy Jordan Jet Jetpack K12KB KAO Ken Block Ketchup Keynote KORBIT Korea Korean Kpop KRAKEN Kumho Kuwait Language Laptop LaserJet LCD Leaf Lego Lenovo Leopard Lexus LG Library Light saber Lightning Linear algebra Linux login LTC LTE Luxrender Lyric M30 MAC MacBook Macintosh MACOS Macross Macross 2 Macross Plus Magic MapReduce MARKET Matlab Mazinger Z MDRCBB Mechanical engineering Memory MESSAGE Microsoft Microwave Miniature Mio MLT Mobile Mobile Phone Moped Motorcycle Motorola Mouse Movie MP4 Music Music video Network Nike NODE. JS Nonlinear Optimization NORWAY Novel Octave Odaiba Olleh OpenGL Opening Orthodontics Oslo OSX Outlook Parody PBRT pctools Peanut Performance Perl Phone Photoshop PHP Picture Pidgin Plane Playstation Poem Polar bear Pop Portuguese post Pragma Prank Call Printer Program PROGRAMMING Protocol PS PUMA Push Push Push II PushPush PwnageTool PYTHON QuickTime R8 RAM RAYTRACING RAZR RC Recording Report Robot Rock Rocket punch RSYNC Russel Crowe RWD Samsung Sandstorm Satellite Satellite Radio Scanner Science Score Script SD SDK Security sed Semantic Web Semiconductor SF Shell SHOW SIP Skype SK네트웍스 Slang Sleeve Soccer SOFTWARE Sonata Song Sounddock Soundgarden Space Spyshot SQL SSD ssh sshd Stanford bunny StarTrek Starwars Stethoscope Steve Jobs Sticker Stock Storage system Subaru Sun Super Deformed T-Shirt Taekwon V TALK TBD Tease Technology Teeth Telecommunication Tennis tethering Textfree TH55 The Perfect Storm Theme TI-89 TIBURON Tires Titanium Tom Mabe Tooth Tooth Explorer Torrent Toshiba Toshiba Power Saver Toy TPS Transformer Tsunami TV TV shows Ubuntu UC Ultrabase UMN Universal Century Unix Unlock USB Used Video Virtuosity Vista Visual Studio VISUALC++ VoIP VW WALLET Wallpaper Wanna Girl Wardriving Web 3.0 Wedding WiFi Wild Willy Windows Windows 7 Windows Vista Wireless WireShark WMV WOW WPS WRE54G X61 xargs XBOX XCode Yamato YF Youtube Z Gundam Zeliard Zuma 김간지 김현국 미국여자 방배추 뽀로로 위성 라디오 유희열 일본여자 조까를로스 주역 천자문 周易 天字文 德經 老子

Blog Archive