Programmable Vertex Shader를 내장한 3차원 그래픽 지오메트리 가속기 설계

Design of a 3D Graphics Geometry Accelerator using the Programmable Vertex Shader

  • 하진석 (서경대학교 컴퓨터공학과) ;
  • 정형기 (서경대학교 컴퓨터공학과) ;
  • 김상연 (서경대학교 컴퓨터공학과) ;
  • 이광엽 (서경대학교 컴퓨터공학과)
  • Ha Jin-Seok (Department of Computer Engineering, Seokyeong University) ;
  • Jeong Hyung-Gi (Department of Computer Engineering, Seokyeong University) ;
  • Kim Sang-Yeon (Department of Computer Engineering, Seokyeong University) ;
  • Lee Kwang-Yeob (Department of Computer Engineering, Seokyeong University)
  • 발행 : 2006.09.01

초록

버텍스 쉐이더는 fixed function T&L(Transform and Lighting) 엔진의 유연성을 향상시키고, 이전보다 다양한 3D 그래픽 효과를 표현하기 위하여 설계되었다. 본 논문의 쉐이더는 DirectX 8.1 의 Vertex Shader 1.1 과 OpenGL ARB에 기초하여 설계하였다. 버텍스 쉐이더는 벡터 연산을 위하여 4개의 ALU로 구성된다. 작은 면적의 저전력 설계를 위하여 32비트 부동소수점 데이터 형식을 24비트 데이터 형식으로 대체하였다. 버텍스 쉐이더 코어의 동작 검증을 위하여 Xilinx Virtex2 300M gate 모듈을 사용하였다. 시납시스 합성결과 TSMC 0.13um 공정에서 115MHz의 주파수로 동작가능하고, 12.5M Polygons/sec 의 연산성능을 보였다. 버텍스 쉐이더 코어의 면적은 동일 공정에서 11만 게이트를 차지한다.

A Vertex Shader is designed to show more 3D graphics expressions, and to increase flexibility of the fixed function T&L (Transform and Lighting) engine. Design of this Shader is based on Vertex Shader 1.1 of DirectX 8.1 and OpenGL ARB. The Vertex Shader consists of four floating point ALUs for vectors operation. The previous 32bits floating point data type is replaced to 24bits floating point data type in order to design the Vertex Shader that consume low-power and occupy small area. A Xilinx Virtex2 300M gate module is used to verify behaviour of the core. The result of Synopsys synthesis shows that the proposed Vertex Shader performs 115MHz speed at the TSMC 0.13um process and it can operate as the rate of 12.5M Polygons/sec. It shows the complexity of 110,000 gates in the same process.

키워드

참고문헌

  1. Makoto Awaga, Tatsushi Ohtsuka, Hideki Yoshizawa and Shigeru Sasaki, '3D Graphics Processor Chip Set,' IEEE Micro, pp.37-41. dec., 1995 https://doi.org/10.1109/40.476257
  2. J. C. Jeong, W. C. Park, W. Jeong, T. D. Han, M. K. Lee 'A Cost-Effective Pipelined Divider with a small Lookup Table', IEEE Transactions on Computers, pp.489-495. 2004 https://doi.org/10.1109/TC.2004.1268407
  3. Tomas Akenine-Moller, Eric Hainess 'REALTIME RENDERING', Second Edition, AKPeters Natick, Massachusetts, 2003
  4. James C. Lelterman. Learn Vertex and Pixel Shader Programming with $DirectX{\circledR}$ 9. Wordware Publishing, Inc.
  5. 김재우, 모바일 3D 그래픽을 위한 음영처리 프로세서 설계 (서경대학교 대학원2004년 12월)
  6. 박용진. 역함수를 이용한 작은 룩업테이블을 갖는 조명처리 지수 연산 유닛. (연세대학교 대학원 2004년 12월)
  7. Microsoft MSDN Vertex Shader 1.1 (http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c/directx/graphics/reference/Shaders/ VertexShader1_1/vertex.asp)
  8. Woo Kyeong Jeong, 'A SIMD-DSP/FPU for High- Performance Embedded Micro processors,' Phd Thesis, Yonsei University, Dec, 2002
  9. Inseok Song, JinSeok ha, MyungHwan Kim, KwangYeob Lee, TaeHyun Jo, 'A Design of a Verification System for a Hardwired 3D Graphics Geometry Engine', The 13th Korean Conference on Semiconductors, pp.887-888, 2006
  10. Juho Sohn, Ramchan Woo, Hoijun Yoo, 'A Programmable Vertex Shader with Fixed-Point SIMD Datapath for Low Power Wireless Applications', The Eurographics Association 2004, pp. 107-104 https://doi.org/10.1145/1058129.1058144