ISBN 89-5884-671-2 98560
그리드 환경을 위한 가시화 파이프라인
(Visualization Pipeline for Grid Environment)
구 기 범 (
Gee Bum Koo) voxel@kisti.re.kr
Visualization Team, Supercomputing Center
이 중 연 (Joong Youn Lee
) jylee@kisti.re.kr
Visualization Team, Supercomputing Center
허 영 주 (Young Ju Hur
) popea@kisti.re.kr
Visualization Team, Supercomputing Center
한 국 과 학 기 술 정 보 연 구 원
Korea Institute of Science & Technology Information
<제목 차례>
1. 서론 ··· 1
2. 기존 연구사례 ··· 2
가. GVK ··· 2
나. eViz ··· 2
다. SCIRun ··· 2
3. 가시화 파이프라인의 설계 ··· 4
가. 설계상의 특징 ··· 4
나. 프리미티브 서비스의 분류 및 목록 ··· 5
1) 서비스 그룹 ··· 5
2) 서비스 형태에 따른 분류 ··· 5
3) 프리미티브 서비스 목록 ··· 6
다. 프리미티브 서비스의 설계 ··· 6
4. 가시화 파이프라인의 구현 ··· 9
가. 개요 ··· 9
나. 히스토그램 서비스의 구현사례 ··· 11
1) 사용 가능한 상수 ··· 11
2) 데이터 타입 ··· 11
3) 에러 코드 ··· 12
4) API ··· 12
5. 향후 연구주제 ··· 18
가. 서비스 간 데이터 전송 ··· 18
나. 워크플로 인터페이스 및 스케줄러 ··· 18
6. 결론 및 향후 계획 ··· 19
7. 참고문헌 ··· 20
<표 차례>
표 III-1. 서비스 그룹 ··· 5 표 III-2. 프리미티브 서비스 목록 ··· 6
<그림 차례>
그림 II-1. GVK(좌), eViz(가운데), SCIRun(우)의 실행화면 ··· 3 그림 III-1. 단일 프리미티브 서비스의 구조 ··· 8
- 1 -
- 3 -
그림 II-1. GVK(좌), eViz(가운데), SCIRun(우)의 실행화면
- 5 -
서비스 그룹 명 주 요 기 능
Data conversion 시뮬레이션에서 만들어진 데이터를 XML로 변환하는 서비스 집합
Numerical operation 볼륨/다각형 데이터의 스칼라/벡터 값에 대한 수치연산을 수행하는 서비스 집합 Iso-value 볼륨 데이터로부터 등가면(iso-line/iso-surface)을 추출하는 서비스 집합 Color/Transfer
function 데이터 값에 색상과 투명도를 지정하는 서비스 집합
Geometry 다각형 데이터를 가공하는 서비스 집합 (예: decimation)
Render 볼륨/다각형 데이터를 그림으로 표현하는 서비스 집합
Display 렌더링 된 이미지를 고해상도 화면에 출력하는 서비스 집합
Ruler 2/3차원 공간 내에서의 두 지점 사이의 거리, 지정된 영역의 부피 등을 계산하는 서비
스 집합
Graph 데이터의 특성을 분석해서 그래프로 표현하는 서비스 집합
Conference 다자간 HD급 고해상도 화상회의를 가능하게 하기 위한 서비스 집합
표 III-1. 서비스 그룹
►
►
서비스 그룹 프리미티브 서비스 서비스 그룹 프리미티브 서비스
Data conversion
ConvertHDF5 ConvertNetCDF ConvertTecplot ConvertPlot3D
ConvertCGNS
Render RenderPolygon
RenderVolume
Display SAGE
Ruler
MeasureDistance MeasureArea MeasureVolume
Iso-value IsoLine
IsoSurface Graph Histogram
Color/Transfer function ColorMap TransferFunction
Conference HDConference
Geometry Decimation
표 III-2. 프리미티브 서비스 목록
- 7 -
gSOAP
gSOAP QUANTA libraryQUANTA library
libxml libxml
XML parser XML encoder
Data merger
Data merger Data splitterData splitter Input
Input OutputOutput SOAP API
I1
I1 … IInn OO11 … OOmm
APIAPI
CoreCore
Data channel (parallel sockets)
Data channel (parallel sockets)
Running context
Running context Internal Internal
representation representation Service context
Service context
Viewing Viewing V1 V1 View command
(UDP)
gSOAP
gSOAP QUANTA libraryQUANTA library
libxml libxml
XML parser XML encoder
Data merger
Data merger Data splitterData splitter Input
Input OutputOutput SOAP API
I1
I1 … IInn OO11 … OOmm
APIAPI
CoreCore
Data channel (parallel sockets)
Data channel (parallel sockets)
Running context
Running context Internal Internal
representation representation Service context
Service context
Viewing Viewing V1 V1 View command
(UDP)
그림 III-1. 단일 프리미티브 서비스의 구조
- 9 -
- 11 - z
z z z z z z z z z z z z z z
z z z z z
z z z z z z z z
z z z z z z
hiBegin
void hiBegin (void)
hiEnd
- 13 - hiEnable
void hiEnable (HIenum cap)
z
hiDisable
void hiDisable (HIenum cap)
z
hiIsEnabled
void hiIsEnabled (HIenum cap)
z
hiHistogramWidth
void hiHistogramWidth (HIenum dimension, HIuint width)
z
z
hiHistogramHeight
void hiHistogramHeight (HIenum dimension, HIuint height)
z
z
hiGenerate
- 15 - hiClear
void hiClear (HIbitfield)
z
hiGetIntegerv
hiGetHistogramv
hiVolumeData2D
void hiVolumeData1D (HIsizei width, HIsizei height,
HIdouble minScalar, HIdouble maxScalar, HIdouble minGradient, HIdouble maxGradient, const double *data)
z z z z z z z
hiVolumeData3D
void hiVolumeData3D (HIsizei width, HIsizei depth, HIsizei height, HIdouble minScalar, HIdouble maxScalar, HIdouble minGradient, HIdouble maxGradient, const double *data)
z z z z z z z z
hiVolumeData3D
void hiVolumeData4D (HIsizei width, HIsizei depth, HIsizei height, HIsizei timesteps,
HIdouble minScalar, HIdouble maxScalar, HIdouble minGradient, HIdouble maxGradient, const double *data)
z z
- 17 - z
z z z
hiGetError
HIenum hiGetError (void)
- 19 -
z
z
z
z
z
z z z z z