shopkeeper/korean_wiki_content_only_120125 huggingface dataset:
시차 매핑은 본질적으로 2D 텍스처의 거칠거나 고르지 않은 표면을 "끌어내어" 3D 표면의 모양을 띠게 할 수 있는 방법이다. 기술적으로, 이것은 렌더링된 다각형의 한 지점에서 텍스처 좌표를 접공간에서의 시야각(표면 법선에 대한 각도)과 그 지점에서의 높이 맵 값의 함수로 변위시켜 구현된다. 더 가파른 시야각에서는 텍스처 좌표가 더 많이 변위되어, 시야가 변함에 따라 시차 효과로 인해 깊이감을 준다. 이 효과는 예를 들어 3D 내부를 위장하기 위해 창을 렌더링하는 데 일반적으로 사용된다.
가네코 도모미치 외에 의해 설명된 시차 매핑은 오클루전을 고려하지 않는 단일 단계 프로세스이다. 이후 알고리즘에 반복적인 접근 방식을 통합하여 오클루전 및 정확한 실루엣 렌더링을 허용하도록 개선되었다.
가파른 시차 매핑.
가파른 시차 매핑(Steep parallax mapping)은 높이 필드에 대해 광선을 추적하는 알고리즘 클래스 중 하나이다. 이 아이디어는 높이 필드의 볼륨에 들어간 광선을 따라가며, 광선과 높이 필드의 교차점을 찾는 것이다. 이 가장 가까운 교차점이 높이 필드의 진정으로 보이는 부분이다. 릴리프 매핑과 시차 폐색 매핑은 이러한 기술의 다른 일반적인 이름이다.
간격 매핑(Interval mapping)은 릴리프 매핑에서 수행되는 일반적인 이진 검색을 개선하여 알려진 내부 및 외부 지점 사이에 선을 만들고, 전통적인 이진 검색에서와 같이 중간 지점을 사용하는 대신 이 선을 광선과 교차시켜 다음 샘플 지점을 선택한다.
WH 그룹(, 이전 명칭 솽후이 그룹())은 홍콩에 본사를 둔 상장된 중국의 다국적 육류 및 식품 가공 회사이다. 영어권 국가에서는 신웨이 그룹으로도 알려져 있으며, 이 회사의 사업은 돼지 사육, 소비자 육류 제품, 조미료 제품 및 물류를 포함한다. 이 회사는 중국에서 가장 큰 육류 생산 기업이다.
2021년, WH 그룹은 FBIF의 중국 100대 식품 및 음료 회사 목록에서 3위를 차지했다.
완 룽은 WH 그룹의 회장 겸 최고경영자이다. 스미스필드 푸즈의 사장 겸 최고경영자인 케네스 M. 설리번은 2016년 1월 WH 그룹의 상무이사가 되었다.
솽후이는 연간 270만 톤 이상의 육류를 생산하는 13개 시설을 보유하고 있다. 이 회사는 연간 1500만 마리 이상의 돼지를 도축하지만, 약 40만 마리만 사육하며 나머지는 공급업체로부터 구매한다. 이 회사는 500개 이상의 특허를 보유하고 있으며 1,000개의 제품을 생산한다. 2013년 5월 현재 양 즈쥔이 상무이사이다. 이 회사는 2019년 현재 약 101,000명의 직원을 고용하고 있으며, 30%가 직원 소유이다.
솽후이는 1958년에 뤄허시 시 정부가 단일 가공 공장으로 설립했다. 완 룽은 1968년 공장에 합류했으며 1984년까지 공장 총지배인이 되었다. 완 룽의 지휘 아래 회사는 공격적으로 확장했다. 첫해에 그는 어려움을 겪던 회사를 순손실에서 순이익 5백만 위안(170만 달러)으로 전환시켰다.
1992년, 소시지 판매는 회사의 확장을 이끌었으며, 이는 6개국 투자자들이 솽후이 인터내셔널을 설립하는 결과로 이어졌다.
이 회사는 1992년 2월에 첫 번째 브랜드 육류 제품을 시장에 출시했다. 같은 해 말, 솽후이는 6개국 16개 기관 투자자와 합작 투자 회사를 설립했다. 1994년, 이 합작 회사는 솽후이 그룹으로 통합되었다. 솽후이의 자회사인 허난 솽후이 투자개발 유한공사()는 1998년에 설립되어 선전 증권거래소에 상장되었다. 2000년, 솽후이는 고등 교육 및 연구 부서를 설립했다.
2006년까지 솽후이는 기업 가치 기준으로 중국 최대 식품 가공 회사였으며, 전체 회사 중 131번째로 큰 회사였다. 당시 이 회사의 가치는 13억 달러였으며, 중국 고온 가공 육류 시장의 50% 이상을 점유하고 있었다. 같은 해, 뤄허시 정부는 솽후이의 지분을 골드만삭스와 사모펀드 회사 CDH 투자의 합작 회사에 매각했다. 골드만삭스는 나중에 대부분의 지분을 상당한 이익을 보고 매각했다고 알려졌지만, 2013년 5월 현재 회사의 5.2%를 소유하고 있었다. 완 룽은 2007년 10월 16일에 회사의 회장으로 임명되었다.
2011년, 이 회사는 일본에서 영업을 시작했다.
스미스필드 푸즈 인수.
2013년 5월, 솽후이는 주당 34달러, 총 약 47억 2천만 달러에 스미스필드 푸즈를 인수할 의사를 밝혔다. 인수된 부채를 포함한 총 거래 가치는 약 71억 달러였다. 합의된 인수 가격은 거래 발표 당시 스미스필드의 시장 가격보다 31%의 프리미엄을 나타냈다. 양측은 합의에 도달하기 전에 4년 동안 협상했다.
거래가 최종 확정되기 전, 스미스필드 주주들과 미국 외국인 투자 심의 위원회의 승인을 받아야 했다. 이 거래는 2013년 9월 24일 스미스필드 주주들에 의해 최종 승인되었으며, 합병은 이틀 후에 완료될 예정이었다.
스미스필드 CEO 래리 포프는 이 거래가 "더 많은 기회와 새로운 시장, 새로운 개척지를 가진 기존의 스미스필드를 유지할 것"이라고 밝혔다. 그는 중국 돼지고기가 미국으로 수입되지 않을 것이며, 오히려 솽후이가 미국 돼지고기를 수출하기를 원한다고 밝혔다. 최근 식품 스캔들로 인해 중국에서는 외국 식품 제품에 대한 수요가 증가하고 있다. 스미스필드의 기존 경영진은 그대로 유지될 것이며 인력에 큰 변화는 없을 것이라고 밝혔다. 애널리스트 데릭 시저스는 솽후이와 같은 회사들은 "미국 시장에서 문제를 일으키려 하지 않는다... 그들은 미국이 할 수 있는 일로부터 이득을 얻고자 한다"고 말했다. 중국은 2008년 이후로 돼지고기 순수입국이었다.
이 거래는 중국 기업이 미국 기업을 인수한 것 중 역대 최대 규모였으며, 중국의 직접 투자와 관련된 미국 일자리를 대략 두 배로 늘렸다. 스미스필드는 거래 완료와 함께 상장 폐지되었다.
2013년 7월, 솽후이는 인수 완료 후 홍콩 증권거래소에 스미스필드를 상장할 계획을 발표했다. IPO를 통해 회사의 가치는 약 40억 달러로 평가될 것으로 예상되었다. 그러나 IPO 계획은 2014년에 결국 철회되었다.
2014년 1월, 솽후이 인터내셔널은 사명을 WH 그룹으로 변경했지만, 자회사 중 하나인 허난 솽후이 투자개발회사는 솽후이 브랜드를 유지했다. 새 이름은 "완저우 홀딩스"의 약자에서 유래했으며, 중국어 "완"과 "저우"는 각각 영원과 대륙을 의미한다.
2015년 6월, 스미스필드는 스페인 육류 가공업체 캄포프리오 푸드 그룹의 지분 37%를 멕시코 알파 그룹에 3억 5,400만 달러에 매각했다. 래리 포프 CEO가 밝힌 거래 이유는 스미스필드의 대차대조표를 개선하고 장기 목표에 부합하는 전략적 인수를 위한 현금 보유액을 확보하기 위함이었다.
2016년, WH 그룹의 이익은 17% 이상 증가했다. 이러한 수익성 증가는 주로 스미스필드 푸즈의 성장에 힘입은 것이다.
2016년, 스미스필드 푸즈는 호멜 (기업)으로부터 캘리포니아 기반의 클로퍼티 패킹을 1억 4,500만 달러에 인수했다. 파머 존과 사그 스페셜티 미츠와 같은 수많은 브랜드가 이번 인수에 포함되었다. 클로퍼티는 다양한 돼지고기 제품과 미국 남서부에 넓은 판매망을 가지고 있었다. 스미스필드는 또한 스노플레이크 (애리조나주), 캘리포니아, 와이오밍에 있는 돼지 농장을 연간 75,000달러의 토지세와 함께 인수했다.
2017년, 스미스필드 푸즈는 피니 폴로니아의 나머지 지분 66.5%를 인수했다. 인수가 완료된 후, 이 회사는 스미스필드 푸즈의 전액 출자 자회사가 되었다. 피니 폴로니아는 폴란드에 도축장을 가지고 있다. 이 회사는 또한 이탈리아와 헝가리에도 시설을 가지고 있다. 이 거래에는 피니 폴스카, 햄버거 피니, 로얄 치킨 인수가 포함되었다. 지불된 가격은 공개되지 않았다.
2020년 3월 말, WH 그룹은 COVID-19 확산이 미국과 중국에서의 운영 및 판매에 매우 제한적인 영향을 미쳤다고 발표했다. 이 회사는 운영의 95%가 정상으로 돌아왔다고 밝혔다.
린든 B. 존슨 대통령 취임식은 다음을 가리킨다.
컴퓨터 그래픽스에서 레벨 오브 디테일(Level of detail, LOD)은 3D 모델 표현의 복잡성을 나타낸다. LOD는 모델이 뷰어에서 멀어지거나 객체의 중요성, 뷰포인트 대비 속도 또는 위치와 같은 다른 기준에 따라 낮출 수 있다.
LOD 기법은 그래픽스 파이프라인 단계, 일반적으로 정점 변환의 작업량을 줄임으로써 렌더링 효율을 높인다.
모델의 시각적 품질 저하는 멀리 있거나 빠르게 움직일 때 객체의 외관에 미치는 영향이 작기 때문에 종종 알아채기 어렵다.
대부분의 경우 LOD는 기하학적 세부 정보에만 적용되지만, 기본 개념은 일반화될 수 있다. 최근에는 LOD 기법에 픽셀 복잡도를 제어하기 위한 셰이더 관리도 포함되었다.
레벨 오브 디테일 관리의 한 형태는 수년간 텍스처 맵에 밉맵핑이라는 이름으로 적용되어 왔으며, 이는 더 높은 렌더링 품질을 제공한다.
3D 모델러가 수동으로 LOD 모델을 만들거나 기본 LOD 알고리즘에 의해 객체가 단순화될 때 "객체가 LOD 처리되었다"고 말하는 것이 일반적이다.
역사적 참고 자료.
3D 컴퓨터 그래픽스용 LOD 알고리즘의 기원은 제임스 H. 클라크가 커뮤니케이션즈 오브 더 ACM 1976년 10월호에 발표한 논문으로 거슬러 올라간다.
당시 컴퓨터는 거대하고 희귀했으며, 그래픽스는 연구원들에 의해 개발되고 있었다. 하드웨어 자체는 아키텍처적으로나 성능 면에서 완전히 달랐다. 따라서 오늘날의 알고리즘과 많은 차이점을 보였지만, 공통점도 많았다.
원래의 알고리즘은 여기서 논의될 내용보다 훨씬 더 일반적인 접근 방식을 제시했다. 기하학 관리에 사용할 수 있는 일부 알고리즘을 소개한 후, 가장 큰 이점은 "렌더링되는 환경을 구조화"하는 데서 나왔다고 명시하며, 이를 통해 더 빠른 변환 및 클리핑 작업을 활용할 수 있었다.
동일한 환경 구조화는 이제 다양한 디테일을 제어하여 불필요한 계산을 피하면서도 적절한 시각적 품질을 제공하는 방법으로 제안되었다.
제안된 알고리즘은 변환과 더 자세한 객체로의 전환을 모두 아크에 인코딩하는 트리 데이터 구조를 구상한다. 이런 식으로 각 노드는 객체를 인코딩하며, 빠른 휴리스틱에 따라 트리는 각 객체에 더 많은 세부 정보를 제공하는 리프까지 내려간다. 리프에 도달하면 캐트멀의 재귀적 세분화와 같이 더 높은 세부 정보가 필요할 때 다른 방법을 사용할 수 있다.
이 논문은 이어서 클리핑 (컬링과 혼동하지 말 것, 종종 유사하지만), 그래픽 작업 세트에 대한 다양한 고려 사항 및 성능에 미치는 영향, 제안된 알고리즘과 렌더링 속도 향상을 위한 다른 알고리즘 간의 상호 작용에 대해 소개한다.
잘 알려진 접근 방식.
위에 소개된 알고리즘은 다양한 수준의 디테일 관리 기법을 다루지만, 실제 응용 프로그램은 일반적으로 렌더링되는 정보에 맞춰진 특수 방법을 사용한다. 상황의 요구 사항에 따라 두 가지 주요 방법이 사용된다.
첫 번째 방법인 불연속 레벨 오브 디테일(DLOD)은 기하학적 세부 수준이 감소된 원래 기하학의 여러 불연속 버전을 생성하는 것을 포함한다. 런타임에 필요에 따라 완전 세부 모델이 축소된 세부 모델로 대체된다. 레벨의 불연속적인 특성 때문에 한 모델이 다른 모델로 교체될 때 시각적인 팝핑이 발생할 수 있다. 이는 전환 중에 알파 블렌딩 또는 모핑을 통해 완화될 수 있다.
두 번째 방법인 연속 레벨 오브 디테일(CLOD)은 기하학적 세부 사항의 연속적인 가변 스펙트럼을 포함하는 구조를 사용한다. 이 구조는 상황에 필요한 적절한 세부 수준을 부드럽게 선택하기 위해 탐색될 수 있다. 이 기술의 중요한 장점은 세부 사항을 국부적으로 변경할 수 있다는 것이다. 예를 들어, 뷰에 더 가까운 큰 객체의 측면은 높은 세부 정보로 표시될 수 있으며, 동시에 멀리 있는 측면의 세부 정보는 줄일 수 있다.
두 경우 모두, LOD는 완전 세부 모델에 대한 LOD의 기하학적 오류를 평가하는 것과 같이, 세부 정보 축소로 인해 얼마나 많은 세부 정보가 손실되는지를 판단하는 데 사용되는 휴리스틱에 따라 선택된다. 그런 다음 객체는 휴리스틱을 만족하는 데 필요한 최소한의 세부 정보로 표시되며, 이는 허용 가능한 수준의 시각적 품질을 유지하면서 성능을 최대화하기 위해 기하학적 세부 정보를 가능한 한 최소화하도록 설계되었다.
불연속 LOD에 대한 세부 정보.
불연속 LOD(DLOD)의 기본 개념은 동일한 객체를 나타내기 위해 다양한 모델을 제공하는 것이다. 이러한 모델을 얻는 것은 종종 사소하지 않고 많은 폴리곤 축소 기법의 대상이 되는 외부 알고리즘을 필요로 한다. 연속적인 LOD 알고리즘은 단순히 이러한 모델을 사용할 수 있다고 가정한다.
DLOD 알고리즘은 메모리에 쉽게 들어갈 수 있는 작은 데이터 세트를 사용하는 성능 집약적인 응용 프로그램에서 자주 사용된다. 코어 외부 알고리즘을 사용할 수도 있지만, 정보의 세분성은 이러한 종류의 응용 프로그램에 적합하지 않다. 이러한 종류의 알고리즘은 일반적으로 관련된 작업이 적기 때문에 더 빠른 성능과 낮은 CPU 사용량을 제공하여 작동시키기 쉽다.
DLOD 방법은 종종 복잡한 애니메이션 방법을 포함할 수 있는 "독립형" 움직이는 객체에 사용된다. 인기 있는 지형 렌더링 알고리즘인 지오맵핑에는 다른 접근 방식이 사용되는데, 이는 "객체" 메시와 그래픽적으로나 토폴로지적으로 다른 지형 메시에 적용되기 때문이다. 오류를 계산하고 이에 따라 메시를 단순화하는 대신, 지오맵핑은 고정된 축소 방법을 사용하고, 도입된 오류를 평가하며, 오류가 허용되는 거리를 계산한다. 간단하지만, 이 알고리즘은 괜찮은 성능을 제공한다.
불연속 LOD 예시.
간단한 예로 구를 생각해보자. 불연속 LOD 접근 방식은 다른 거리에서 사용될 특정 수의 모델을 캐싱한다. 모델은 수학적 공식에 의해 절차적으로 생성될 수 있으므로, 표면에 분산된 다른 수의 샘플 포인트를 사용하는 것만으로도 필요한 다양한 모델을 생성하기에 충분하다. 이 단계는 LOD 알고리즘이 아니다.
현실적인 변환 한계 시나리오를 시뮬레이션하기 위해, 특별히 작성된 응용 프로그램을 사용할 수 있다. 간단한 알고리즘과 최소한의 프래그먼트 연산을 사용하여 CPU 바운드가 발생하지 않도록 한다. 각 프레임마다 프로그램은 각 구의 거리를 계산하고 이 정보에 따라 풀에서 모델을 선택한다. 개념을 쉽게 보여주기 위해 각 모델이 사용되는 거리는 소스에 하드 코딩되어 있다. 더 복잡한 방법은 선택된 사용 거리에 따라 적절한 모델을 계산할 것이다.
OpenGL은 작은 배치를 효율적으로 관리하고 각 모델을 디스플레이 목록에 저장하여 통신 오버헤드를 피하므로 렌더링에 사용된다. 두 개의 방향성 광원을 무한히 멀리 이상적으로 배치하여 추가 정점 부하를 준다.
다음 표는 LOD 인식 렌더링과 완전 디테일(무차별 대입) 방법의 성능을 비교한다.
계층적 LOD.
하드웨어는 많은 양의 디테일에 맞춰져 있기 때문에 저 폴리곤 객체를 렌더링하면 최적이 아닌 성능을 낼 수 있다. HLOD는 다른 객체들을 그룹화하여 이러한 문제를 피한다. 이는 효율성을 높이고 근접성 고려 사항을 활용할 수 있게 해준다.
LOD는 3D 비디오 게임에서 특히 유용하다. 비디오 게임 개발자들은 플레이어에게 넓은 세계를 제공하고 싶지만, 항상 하드웨어, 프레임 속도 및 비디오 게임 그래픽의 실시간 특성에 제약을 받는다. 1990년대 3D 게임의 등장과 함께, 많은 비디오 게임들은 단순히 멀리 있는 구조나 객체를 렌더링하지 않았다. 가까운 객체만 렌더링되고 더 멀리 있는 부분은 점차적으로 사라지면서 본질적으로 거리 안개를 구현했다. LOD 렌더링을 사용하는 비디오 게임은 이러한 안개 효과를 피하고 더 넓은 영역을 렌더링할 수 있다. 3D 비디오 게임에서 LOD 렌더링의 주목할 만한 초기 예시로는 킬링 클라우드, 스파이로 더 드래곤, , 언리얼 토너먼트 및 시리어스 샘 엔진이 있다. 대부분의 현대 3D 게임은 LOD 렌더링 기술을 조합하여 큰 구조에는 다른 모델을 사용하고 잔디나 나무와 같은 환경 세부 사항에는 거리 컬링을 사용한다. 이 효과는 플레이어 캐릭터가 가상 지형 위를 날아가거나 장거리 시야를 위해 저격 스코프를 사용할 때 여전히 눈에 띌 수 있다. 특히 잔디와 잎은 가까이 다가갈 때 갑자기 나타나는 것처럼 보일 수 있는데, 이를 잎 컬링이라고도 한다. LOD는 또한 프랙탈 지형을 실시간으로 렌더링하는 데 사용될 수 있다. 언리얼 엔진 5의 나나이트 시스템은 본질적으로 객체 전체가 아닌 메시 내에서 레벨 오브 디테일을 구현한다.
GIS 및 3D 도시 모델링에서.
LOD는 GIS 및 3D 도시 모델에서 유사한 개념으로 발견된다. 이는 실제 세계의 특징이 얼마나 철저하게 매핑되었는지, 그리고 모델이 실제 세계의 대응물에 얼마나 잘 부합하는지를 나타낸다. 기하학적 복잡성 외에도 공간-의미론적 일관성, 텍스처 해상도 및 속성과 같은 다른 측정 기준도 모델의 LOD에서 고려될 수 있다.
표준 CityGML은 가장 두드러진 LOD 분류 중 하나를 포함한다.
GIS에서 "LOD 처리"의 비유는 지도학적 일반화라고 한다.
《CITY》(시티)는 아라이 케이이치가 지은 일본의 만화다. 《모닝》(코단샤)에서 2016년 44호부터 2021년 10호까지 연재된 후, 2025년 2·3 합병호부터 연재가 재개되었다.
2024년 9월의 교토 애니메이션 신작 발표회에서 《CITY THE ANIMATION》(시티 더 애니메이션)라는 제목으로 텔레비전 애니메이션화가 발표되었다. 2025년 7월부터 9월까지 아사히 방송 텔레비전, TOKYO MX 등에서 방송되었다. 내레이션은 오오츠카 호츄다.
최근접 이웃 보간법(Nearest-neighbor interpolation) 또는 근접 보간법(proximal interpolation) 또는 특정 맥락에서는 점 샘플링(point sampling)은 하나 이상의 차원에서 다변량 보간법의 간단한 방법이다.
보간법은 어떤 공간에서 주어진 점 주변(이웃)의 함수 값이 주어졌을 때, 주어지지 않은 점에 대한 함수 값을 근사화하는 문제이다. 최근접 이웃 알고리즘은 가장 가까운 점의 값을 선택하고 인접한 점의 값을 전혀 고려하지 않아 구분적인 상수 보간을 생성한다. 이 알고리즘은 구현이 매우 간단하며 텍스처된 표면에 대한 색상 값을 선택하기 위해 3D 렌더링에서 (일반적으로 밉맵핑과 함께) 실시간으로 일반적으로 사용된다.
보로노이 다이어그램과의 연결.
공간에 주어진 점 집합에 대해 보로노이 다이어그램은 공간을 셀로 분해하는 것으로, 각 주어진 점마다 하나의 셀이 할당되어 공간의 어느 곳이든 가장 가까운 주어진 점이 셀 내부에 있도록 한다. 이는 주어진 점의 함수 값을 셀 내부의 모든 점에 할당함으로써 최근접 이웃 보간과 동일하다. 오른쪽 그림은 셀의 모양을 색상으로 보여준다.
펄린 노이즈(Perlin noise)는 켄 펄린이 1983년에 개발한 그래디언트 노이즈의 한 종류이다. 절차적으로 지형을 생성하고, 변수에 의사 난수적 변화를 적용하며, 이미지 텍스처 생성을 돕는 등 다양한 용도로 사용된다. 일반적으로 2차원, 3차원, 또는 4차원으로 구현되지만, 임의의 차원으로 정의할 수 있다.
켄 펄린은 당시 컴퓨터 생성 이미지(CGI)의 "기계적인" 모습에 대한 불만으로 1983년에 펄린 노이즈를 개발했다. 그는 1985년 SIGGRAPH 논문 "이미지 신시사이저"에서 자신의 발견을 공식적으로 설명했다. 그는 디즈니의 컴퓨터 애니메이션 SF 영화 트론(1982) 작업을 매티컬 애플리케이션 그룹 (MAGI)에서 한 후 이를 개발했다. 1997년에 펄린은 이 알고리즘을 개발한 공로로 아카데미 과학기술상을 수상했으며, 그 내용은 다음과 같다:
펄린은 이 알고리즘에 대해 어떤 특허도 신청하지 않았지만, 2001년에는 심플렉스 노이즈의 3D 이상 구현을 텍스처 합성에 사용하는 것에 대한 특허를 받았다. 심플렉스 노이즈는 동일한 목적을 가지고 있지만, 더 간단한 공간 채우기 그리드를 사용한다. 심플렉스 노이즈는 펄린의 "클래식 노이즈"가 가지고 있던 계산 복잡성과 시각적으로 중요한 방향성 아티팩트와 같은 문제점들을 완화한다.
펄린 노이즈는 절차적 텍스처 원시 요소로, 시각 효과 아티스트가 컴퓨터 그래픽스에서 사실감을 높이기 위해 사용하는 그래디언트 노이즈의 한 종류이다. 이 함수는 의사 난수적 모양을 가지지만, 모든 시각적 세부 사항은 동일한 크기이다. 이 특성 덕분에 쉽게 제어할 수 있다. 펄린 노이즈의 여러 스케일된 사본을 수학적 표현식에 삽입하여 다양한 절차적 텍스처를 만들 수 있다. 펄린 노이즈를 사용한 합성 텍스처는 CGI에서 객체 표면, 불, 연기, 구름과 같은 컴퓨터 생성 시각 요소를 자연의 텍스처가 가진 제어된 무작위적 모양을 모방하여 더 자연스럽게 보이도록 만드는 데 자주 사용된다.
또한 데모와 같이 메모리가 극히 제한된 상황에서 텍스처를 생성하는 데 자주 사용된다. 프랙탈 노이즈 및 심플렉스 노이즈와 같은 후속 기술은 그래픽 처리 장치에서 실시간 컴퓨터 그래픽스와 모든 종류의 컴퓨터 그래픽스에서 비실시간 절차적 텍스처 생성에 거의 보편적으로 사용되고 있다.
이것은 비디오 게임에서 자연스러운 절차적으로 생성된 지형을 만드는 데 자주 사용된다. 이러한 성공은 펄린 노이즈의 계층적 구조가 자연적으로 발생하는 계층적 구조를 모방하며, 따라서 환경 과학 응용 분야에서도 유용하다는 것이 밝혀졌다.
알고리즘 상세.
펄린 노이즈는 주로 2차원, 3차원 또는 4차원 함수로 구현되지만, 임의의 차원 수에 대해 정의할 수 있다. 구현은 일반적으로 세 단계를 포함한다: 무작위 기울기 벡터의 그리드 정의, 기울기 벡터와 오프셋 사이의 스칼라곱 계산, 그리고 이 값들 사이의 보간.
그리드 정의.
각 그리드 교차점에 고정된 무작위 -차원 단위 길이 기울기 벡터가 연결된 -차원 그리드를 정의한다. 단, 1차원인 경우에는 기울기가 −1과 1 사이의 무작위 스칼라이다.
임의의 후보 점의 값을 계산하기 위해 먼저 점이 놓여 있는 고유한 그리드 셀을 찾는다. 그런 다음 해당 셀의 개 모서리와 해당 모서리에 연결된 기울기 벡터를 식별한다. 다음으로, 각 모서리에 대해 오프셋 벡터를 계산한다. 오프셋 벡터는 해당 모서리에서 후보 점까지의 변위 벡터이다.
각 모서리에 대해 해당 기울기 벡터와 후보 점까지의 오프셋 벡터 사이의 스칼라곱을 계산한다. 후보 점이 그리드 모서리에 정확히 위치하면 이 스칼라곱은 0이 된다.
2차원 그리드의 점의 경우, 4개의 오프셋 벡터와 스칼라곱을 계산해야 하며, 3차원에서는 8개의 오프셋 벡터와 8개의 스칼라곱을 계산해야 한다. 일반적으로 이 알고리즘은 차원에서 복잡도를 가진다.
마지막 단계는 개의 스칼라곱을 보간하는 것이다. 보간은 개 그리드 노드에서 1차 도함수 (그리고 아마도 2차 도함수)가 0인 함수를 사용하여 수행된다. 따라서 그리드 노드에 가까운 지점에서는 출력값이 노드의 기울기 벡터와 노드까지의 오프셋 벡터의 스칼라곱에 근사하게 된다. 이는 노이즈 함수가 모든 노드에서 0을 통과함을 의미하며, 이는 펄린 노이즈의 특징적인 모습을 부여한다.
일 경우, 그리드 노드 0의 값 과 그리드 노드 1의 값 사이를 보간하는 함수의 예는 다음과 같다.
여기서 스무스스텝 함수가 사용되었다.
컴퓨터 그래픽스에 사용되는 노이즈 함수는 일반적으로 범위 의 값을 생성하며 그에 따라 스케일링할 수 있다.
기울기 순열.
켄 펄린의 원래 구현에서는 간단한 해싱 기법을 사용하여 각 그리드 교차점과 연결된 기울기 벡터를 결정했다. 미리 계산된 순열 테이블을 사용하여 주어진 그리드 좌표를 난수로 변환한다. 원래 구현은 256개 노드 그리드에서 작동했으며 다음 순열 테이블을 포함했다.
int permutation[] = { 151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225,
140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, 190, 6, 148,
247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32,
57, 177, 33, 88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168, 68, 175,
74, 165, 71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122,
60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244, 102, 143, 54,
65, 25, 63, 161, 1, 216, 80, 73, 209, 76, 132, 187, 208, 89, 18, 169,
200, 196, 135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186, 3, 64,
52, 217, 226, 250, 124, 123, 5, 202, 38, 147, 118, 126, 255, 82, 85, 212,
207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42, 223, 183, 170, 213,
119, 248, 152, 2, 44, 154, 163, 70, 221, 153, 101, 155, 167, 43, 172, 9,
129, 22, 39, 253, 19, 98, 108, 110, 79, 113, 224, 232, 178, 185, 112, 104,
218, 246, 97, 228, 251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241,
81, 51, 145, 235, 249, 14, 239, 107, 49, 192, 214, 31, 181, 199, 106, 157,
184, 84, 204, 176, 115, 121, 50, 45, 127, 4, 150, 254, 138, 236, 205, 93,
222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180 };
이 특정 순열이 절대적으로 필요한 것은 아니지만, 0부터 255까지의 정수로 이루어진 무작위 배열이 필요하다. 새로운 순열 테이블을 생성할 때 값의 균일한 분포를 보장하도록 주의해야 한다.
순열 테이블을 사용하여 기울기 벡터를 얻으려면, 그리드 점의 좌표를 순열 테이블에서 순차적으로 찾아 이전 좌표의 순열에 각 좌표의 값을 더한다. 예를 들어, 원래 구현은 3D에서 다음과 같이 수행했다.
// Values above 255 were handled by repeating the permutation table twice.
static final int p[] = new int[512];
int hash = p[p[p[X] + Y] + Z];
그런 다음 알고리즘은 해시 출력의 하위 4비트를 보고 해당 그리드 포인트에 대한 12개의 기울기 벡터 중 하나를 선택한다.
노이즈 함수의 각 평가에 대해, 포함하는 그리드 셀의 각 노드에서 위치 및 기울기 벡터의 스칼라곱이 평가되어야 한다. 따라서 펄린 노이즈는 차원에 대해 복잡도로 스케일링된다. 복잡도 스케일링이 개선되면서 유사한 결과를 생성하는 펄린 노이즈의 대안으로는 심플렉스 노이즈와 오픈심플렉스 노이즈가 있다.
OBJ(.OBJ)는 웨이브프론트 테크놀로지스가 디 어브밴스트 비주얼라이저(The Advanced Visualizer) 애니메이션 패키지를 위해 처음 개발한 기하학적 정의 파일 형식이다. 이는 오픈 포맷이며 다른 3차원 컴퓨터 그래픽스 애플리케이션 공급업체에 의해 채택되었다.
OBJ 파일 형식은 3D 기하학만을 나타내는 간단한 데이터 형식으로, 특히 각 꼭짓점의 위치, 각 텍스처 좌표 꼭짓점의 UV 매핑, 꼭짓점 노멀, 그리고 꼭짓점 및 텍스처 꼭짓점 목록으로 정의된 각 폴리곤을 구성하는 면을 포함한다. 꼭짓점은 기본적으로 시계 반대 방향으로 저장되므로 면 노멀을 명시적으로 선언할 필요가 없다. OBJ 좌표는 단위가 없지만, OBJ 파일은 사람이 읽을 수 있는 주석 줄에 스케일 정보를 포함할 수 있다.
해시 문자(#) 뒤에 오는 모든 내용은 주석이다.
# 이것은 주석입니다.
OBJ 파일은 꼭짓점 데이터, 자유형 곡선/표면 속성, 요소, 자유형 곡선/표면 본체 문, 자유형 표면 간의 연결성, 그룹화 및 표시/렌더 속성 정보를 포함할 수 있다. 가장 일반적인 요소는 기하학적 꼭짓점, 텍스처 좌표, 꼭짓점 노멀 및 다각형 면이다.
# (x, y, z, [w]) 좌표를 가진 기하학적 꼭짓점 목록, w는 선택 사항이며 기본값은 1.0입니다.
# (u, [v, w]) 좌표를 가진 텍스처 좌표 목록, 이 값들은 0과 1 사이에서 변동합니다. v, w는 선택 사항이며 기본값은 0입니다.
# (x,y,z) 형식의 꼭짓점 노멀 목록; 노멀은 단위 벡터가 아닐 수 있습니다.
# (u, [v, w]) 형식의 매개변수 공간 꼭짓점; 자유형 기하학 문 (아래 참조)
# 다각형 면 요소 (아래 참조)
f 7//1 8//2 9//3
# 선 요소 (아래 참조)
기하학적 꼭짓점.
꼭짓점은 codice_1 문자로 시작하는 줄을 통해 지정된다. 그 뒤에 (x,y,z[,w]) 좌표가 따른다. W는 선택 사항이며 기본값은 1.0이다. W는 점의 크기를 조절한다. 점 (x,y,z,w)는 점 (x/w,y/w,z/w)에 해당한다. 좌표 위치를 지정하는 데는 오른손 좌표계가 사용된다. 일부 애플리케이션은 x, y, z 뒤에 빨강, 초록, 파랑 값을 넣어 꼭짓점 색상을 지원한다(이는 w 지정을 배제한다). 색상 값은 0에서 1까지의 범위를 갖는다.
매개변수 공간 꼭짓점.
자유형 곡면 모델링 문은 문자열 codice_2로 시작하는 줄에 지정될 수 있다. 곡선이나 표면의 매개변수 공간에 점을 정의한다. 곡선 점에는 codice_3만 필요하고, 표면 점과 비합리적 트리밍 곡선의 제어점에는 codice_3와 codice_1가 필요하며, 합리적 트리밍 곡선의 제어점에는 codice_3, codice_1, codice_8(가중치)가 필요하다.
면 요소.
면은 vertex_index/texture_index/normal_index 형식의 꼭짓점, 텍스처 및 노멀 인덱스 목록을 사용하여 정의되며, 각 인덱스는 1부터 시작하여 참조된 요소가 정의된 순서에 따라 증가한다. 사각형과 같은 다각형은 3개 이상의 인덱스를 사용하여 정의할 수 있다.
OBJ 파일은 또한 NURBS 표면과 같이 곡선과 표면을 사용하여 객체를 정의하는 자유형 기하학을 지원한다.
꼭짓점 인덱스.
유효한 꼭짓점 인덱스는 이전에 정의된 꼭짓점 목록의 해당 꼭짓점 요소와 일치한다.
인덱스가 양수이면 해당 꼭짓점 목록의 오프셋(1부터 시작)을 참조한다.
인덱스가 음수이면 꼭짓점 목록의 끝을 상대적으로 참조하며, -1은 마지막 요소를 참조한다.
각 면은 3개 이상의 꼭짓점을 포함할 수 있다.
f v1 v2 v3 ...
꼭짓점 텍스처 좌표 인덱스.
선택적으로, 텍스처 좌표 인덱스는 면을 정의할 때 텍스처 좌표를 지정하는 데 사용될 수 있다.
면을 정의할 때 꼭짓점 인덱스에 텍스처 좌표 인덱스를 추가하려면,
꼭짓점 인덱스 바로 뒤에 슬래시를 넣고 텍스처 좌표 인덱스를 넣어야 한다.
슬래시 앞이나 뒤에 공백은 허용되지 않는다.
유효한 텍스처 좌표 인덱스는 1부터 시작하며 이전에 정의된 텍스처 좌표 목록의
해당 요소와 일치한다.
각 면은 3개 이상의 요소를 포함할 수 있다.
꼭짓점 노멀 인덱스.
선택적으로, 노멀 인덱스는 면을 정의할 때 꼭짓점에 대한 노멀 벡터를 지정하는 데 사용될 수 있다.
면을 정의할 때 꼭짓점 인덱스에 노멀 인덱스를 추가하려면,
텍스처 좌표 인덱스 뒤에 두 번째 슬래시를 넣고 노멀 인덱스를 넣어야 한다.
유효한 노멀 인덱스는 1부터 시작하며 이전에 정의된 노멀 목록의
f v1/vt1/vn1 v2/vt2/vn2 v3/vt3/vn3 ...
텍스처 좌표 인덱스 없는 꼭짓점 노멀 인덱스.
텍스처 좌표는 선택 사항이므로, 없이 기하학을 정의할 수 있지만,
노멀 인덱스를 넣기 전에 꼭짓점 인덱스 뒤에 두 개의 슬래시를 넣어야 한다.
선 요소.
"l"(소문자 L)로 시작하는 레코드는 폴리라인을 구성하는 꼭짓점의 순서를 지정한다.
기타 기하학 형식.
OBJ 파일은 테일러와 B-스플라인 곡선과 같은 여러 다른 종류의 보간법을 사용하여 고차 표면을 지원하지만, 타사 파일 판독기에서 이러한 기능에 대한 지원은 보편적이지 않다. OBJ 파일은 또한 메시 계층이나 꼭짓점 스키닝 또는 메시 모핑과 같은 어떤 종류의 애니메이션이나 변형도 지원하지 않는다.
참조 자료.
폴리곤의 시각적 측면을 설명하는 재료는 외부 파일에 저장된다. 여러 개의 외부 MTL 재료 파일이 OBJ 파일 내에서 참조될 수 있다. 파일은 하나 이상의 명명된 재료 정의를 포함할 수 있다.
mtllib [외부 .mtl 파일 이름]
이 태그는 뒤따르는 요소의 재료 이름을 지정한다. 재료 이름은 외부 파일의 명명된 재료 정의와 일치한다.
usemtl [재료 이름]
명명된 객체 및 폴리곤 그룹은 다음 태그를 통해 지정된다.
o [객체 이름]
g [그룹 이름]
폴리곤에 걸친 부드러운 셰이딩은 셰이딩 그룹에 의해 활성화된다.
# 부드러운 셰이딩도 비활성화할 수 있습니다.
상대 및 절대 인덱스.
OBJ 파일은 목록 구조 때문에 꼭짓점, 노멀 등을 절대 위치(1은 첫 번째 정의된 꼭짓점, N은 N번째 정의된 꼭짓점) 또는 상대 위치(-1은 가장 최근에 정의된 꼭짓점)로 참조할 수 있다.
그러나 모든 소프트웨어가 후자의 접근 방식을 지원하는 것은 아니며, 반대로 일부 소프트웨어는 (꼭짓점 오프셋 등을 다시 계산할 필요 없이 요소를 추가하는 편리성 때문에) 본질적으로 후자 형식만 작성하여 때때로 비호환성을 초래한다.
머티리얼 템플릿 라이브러리.
머리리얼 템플릿 라이브러리 형식(MTL) 또는 파일 형식은 .OBJ 파일의 동반 파일 형식으로, 역시 웨이브프론트 테크놀로지스에서 정의했으며 하나 이상의 .OBJ 파일 내 객체의 표면 셰이딩(머리리얼) 속성을 설명한다. .OBJ 파일은 하나 이상의 파일을 참조하고("머티리얼 라이브러리"라고 함) 거기서부터 이름으로 하나 이상의 머티리얼 설명을 참조한다. 파일은 ASCII 텍스트로, 컴퓨터 렌더링 목적을 위한 표면의 광반사 속성을 정의하며, 퐁 반사 모델에 따른다. 이 표준은 다양한 컴퓨터 소프트웨어 패키지에서 광범위하게 지원되어 머티리얼 교환에 유용한 형식이 된다.
MTL 형식은 여전히 널리 사용되지만, 구식이며 스페큘러 맵 및 시차 매핑과 같은 최신 기술을 완벽하게 지원하지 않는다. 그러나 형식의 개방적이고 직관적인 특성으로 인해 사용자 정의 MTL 파일 생성기로 이러한 기능을 쉽게 추가할 수 있다.
MTL 형식은 여러 형식을 정의한다.
단일 codice_9 파일은 여러 재료를 정의할 수 있다. 재료는 파일에서 하나씩 정의되며, 각각 codice_10 명령으로 시작한다.
# 'Colored'라는 이름의 재료를 정의합니다.
재료의 앰비언트 색상은 codice_11를 사용하여 선언된다. 색상 정의는 RGB이며 각 채널의 값은 0과 1 사이이다.
# 흰색
마찬가지로, 난반사 색상은 codice_12를 사용하여 선언된다.
정반사 색상은 codice_13를 사용하여 선언되며, 스페큘러 지수 codice_14를 사용하여 가중된다.
# 검은색 (꺼짐)
# 0에서 1000 사이의 범위
재료는 투명할 수 있다. 이를 녹아내리는 것으로 참조한다. 실제 투명도와 달리 결과는 객체의 두께에 따라 달라지지 않는다. "d"(녹음) 값 1.0은 기본값이며 완전히 불투명함을 의미하며, "Tr" 값 0.0도 마찬가지이다. 녹음은 모든 조명 모델에서 작동한다.
# 일부 구현에서는 'd'를 사용합니다.
# 다른 구현에서는 'Tr'을 사용합니다 (반전: Tr = 1 - d)
투명 재료는 추가적으로 "Tf"로 지정되는 전송 필터 색상을 가질 수 있다.
# 전송 필터 색상 (R G B 사용)
Tf 1.0 0.5 0.5
# 전송 필터 색상 (CIEXYZ 사용) - y 및 z 값은 선택 사항이며 생략 시 x와 동일하다고 가정합니다.
Tf xyz 1.0 0.5 0.5
# 스펙트럼 곡선 파일의 전송 필터 색상 (일반적으로 사용되지 않음)
Tf spectral &lt;filename&gt;.rfl &lt;optional factor&gt;
재료는 표면에 대한 광학 밀도를 가질 수도 있다. 이를 굴절률이라고도 한다.
# 광학 밀도
값은 0.001에서 10까지 범위이다. 값 1.0은 빛이 물체를 통과할 때 구부러지지 않는다는 것을 의미한다. 광학 밀도를 높이면 구부러지는 양이 증가한다. 유리는 약 1.5의 굴절률을 갖는다. 1.0 미만의 값은 이상한 결과를 초래하며 권장되지 않는다.
재료당 여러 조명 모델을 사용할 수 있다. "d" 또는 "Tr"을 사용하여 투명도를 달성하기 위해 투명 조명 모델을 설정할 필요는 없으며, 현대에는 투명 재료에서도 조명 모델이 지정되지 않는 경우가 많다. 조명 모델은 다음과 같이 열거된다.
텍스처 맵.
텍스처 재료는 위와 동일한 속성을 사용하며, 추가적으로 텍스처 매핑을 정의한다. 아래는 일반적인 재료 파일의 예시이다. 자세한 내용은 Wavefront 파일 형식 전체 참조를 참조하라.
# 앰비언트 텍스처 맵
map_Ka lemur.tga
# 디퓨즈 텍스처 맵 (대부분의 경우 앰비언트 텍스처 맵과 동일함)
map_Kd lemur.tga
# 스페큘러 색상 텍스처 맵
map_Ks lemur.tga
# 스페큘러 하이라이트 구성 요소
map_Ns lemur_spec.tga
# 알파 텍스처 맵
map_d lemur_alpha.tga
# 일부 구현에서는 아래 'bump' 대신 'map_bump'를 사용합니다.
map_bump lemur_bump.tga
# 범프 맵 (기본적으로 이미지의 휘도 채널을 사용함)
bump lemur_bump.tga
# 변위 맵
disp lemur_disp.tga
# 스텐실 데칼 텍스처 (기본적으로 이미지의 'matte' 채널을 사용함)
decal lemur_stencil.tga
텍스처 맵 문에는 옵션 매개변수도 있을 수 있다(전체 사양 참조).
# 텍스처 원점 (1,1,1)
# 구형 반사 맵
텍스처 옵션.
반사 매핑의 경우...
공급업체별 변경 사항.
파일 구문 분석의 용이성과 비공식적인 파일 형식 확산으로 인해 파일에는 공급업체별 변경 사항이 포함될 수 있다.
사양에 따르면 옵션은 텍스처 파일 이름 앞에 와야 한다. 그러나 적어도 한 공급업체는 옵션이 끝에 있는 파일을 생성한다.
# 범프 승수 0.2
물리 기반 렌더링.
온라인 3D 편집 및 모델링 도구인 Clara.io의 개발자들은 물리 기반 렌더링(PBR) 맵 및 매개변수를 지정할 수 있도록 MTL 형식을 확장할 것을 제안했다. 이 확장은 이후 블렌더와 TinyObjLoader에 채택되었다. 확장 PBR 맵 및 매개변수는 다음과 같다.
추가 제안된 확장은 마이크로소프트의 DirectX 엔진용 DirectXMesh 툴킷에서 제공되며, 모델의 사전 컴파일된 RMA 재료를 정의할 수 있는 기능을 허용한다.
마크웨인 멀린(Markwayne Mullin, 1977년 7월 26일 ~ )는 미국의 정치인이다.
테무 하르티카이넨(, 1990년 5월 3일~)은 핀란드의 아이스하키 선수로 포지션은 레프트윙이다. 현재 핀란드 SM 리가의 칼레반 팔로 소속으로 뛰고 있다. 이전에는 내셔널 하키 리그(NHL)의 에드먼턴 오일러스, 콘티넨탈 하키 리그(KHL)의 살라바트 율라예프 우파, 스위스 내셔널 리그의 제네브세르베트 HC 소속으로 활동했다.
국제 대회에서는 핀란드 국가대표팀의 소속으로 활동했으며, 2022년 동계 올림픽과 2022년 세계 선수권 대회에서 핀란드 대표팀의 금메달 획득에 기여했다.
복사선 측정 또는 복사측정(Radiometry)은 가시광선을 포함한 전자기파를 측정하는 기술들의 집합이다. 광학에서 복사선 측정 기술은 빛이 인간의 눈과 상호작용하는 특성을 다루는 광도측정 기술과는 달리, 공간에서 복사선의 일률 분포를 특성화한다. 복사선 측정과 광도측정의 근본적인 차이는 복사선 측정이 전체 광학 복사 스펙트럼을 다루는 반면, 광도측정은 가시 스펙트럼에 한정된다는 점이다. 복사선 측정은 광자 계수와 같은 양자광학 기술과는 구별된다.
방사선계를 사용하여 복사선 속을 측정함으로써 물체와 기체의 온도를 결정하는 것을 고온측정이라고 한다. 휴대용 고온 측정 장치는 종종 적외선 온도계로 판매된다.
복사선 측정은 천문학, 특히 전파천문학에서 중요하며 지구 원격 탐사에서 중요한 역할을 한다. 광학에서 복사선 측정으로 분류되는 측정 기술은 일부 천문학 분야에서는 용어의 광학적 사용과는 반대로 측광학이라고 불린다.
분광복사측정(Spectroradiometry)은 좁은 파장 대역에서 절대 복사량을 측정하는 것이다.
적분 및 스펙트럼 복사량.
적분량(방사속 등)은 모든 파장 또는 진동수의 복사선에 대한 총 효과를 나타내고, 스펙트럼량(복사 일률 등)은 단일 파장 또는 진동수 의 복사선 효과를 나타낸다. 각 적분량에는 고려되는 진동수 또는 파장 범위로 적분량을 나눈 값으로 정의되는 해당 스펙트럼량이 있다. 예를 들어, 방사속 Φe는 스펙트럼 복사 일률 Φe, 및 Φe,에 해당한다.
적분량의 스펙트럼 대응값을 얻으려면 극한 전이가 필요하다. 이는 정확히 요청된 파장 광자의 존재 확률이 0이라는 아이디어에서 비롯된다. 방사속을 예로 들어 그 관계를 보여주자.
단위가 W인 적분속:
단위가 인 파장별 스펙트럼 속:
여기서 formula_3는 작은 파장 간격 formula_4 내의 복사선의 방사속이다.
파장을 가로축으로 하는 그래프 아래의 면적은 총 방사속과 같다.
단위가 인 진동수별 스펙트럼 속:
여기서 formula_3는 작은 진동수 간격 formula_7 내의 복사선의 방사속이다.
진동수를 가로축으로 하는 그래프 아래의 면적은 총 방사속과 같다.
두 변수의 곱이 빛의 속력(formula_8)이므로 파장 및 진동수 에 따른 스펙트럼량은 서로 관련되어 있다:
적분량은 스펙트럼량의 적분으로 얻을 수 있다:
셰이딩 언어(Shading language)는 셰이더 효과 프로그래밍에 적용된 프로그래밍 언어이다. 셰이딩 언어는 일반적으로 "벡터", "행렬", "색상" 및 "법선"과 같은 특수한 자료형으로 구성된다.
오프라인 렌더링.
오프라인 렌더링에 사용되는 셰이딩 언어는 자연어에 가까운 경향이 있어 프로그래밍에 대한 특별한 지식이 필요하지 않다. 오프라인 렌더링은 실시간 렌더링보다 더 많은 시간과 컴퓨팅 비용을 들여 최대 품질의 이미지를 생성하는 것을 목표로 한다.
렌더맨 셰이딩 언어.
렌더맨 셰이딩 언어 (줄여서 RSL 또는 SL)는 렌더맨 인터페이스 명세에 정의된 언어로, 프로덕션 품질 렌더링을 위한 일반적인 셰이딩 언어이다. 또한 구현된 최초의 셰이딩 언어 중 하나이다.
이 언어는 6가지 주요 셰이더 유형을 정의한다.
후디니 VEX 셰이딩 언어.
후디니 VEX(Vector Expressions) 셰이딩 언어(종종 "VEX"로 약칭됨)는 RenderMan을 면밀히 모델링했다. 그러나 완전한 3D 패키지에 통합되었다는 것은 셰이더 작성자가 셰이더 내부의 정보에 접근할 수 있음을 의미하며, 이는 렌더링 컨텍스트에서는 일반적으로 사용할 수 없는 기능이다. RSL과 VEX 간의 언어 차이는 주로 구문적이며, 여러 shadeop 이름의 차이도 있다.
젤라토 셰이딩 언어.
젤라토의 셰이딩 언어는 후디니의 VEX처럼 RenderMan을 면밀히 모델링했다. 젤라토 셰이딩 언어와 RSL의 차이는 주로 구문적이다. 젤라토는 함수 정의에서 인수를 구분하기 위해 쉼표 대신 세미콜론을 사용하며 몇몇 shadeop의 이름과 매개변수가 다르다.
오픈 셰이딩 언어.
오픈 셰이딩 언어(OSL)는 소니 픽처스 이미지워크스가 오토데스크 아널드 렌더러에서 사용하기 위해 개발했다. 또한 블렌더의 사이클 렌더 엔진에서도 사용된다. OSL의 표면 및 볼륨 셰이더는 표면 또는 볼륨이 빛을 어떻게 산란시키는지를 중요도 샘플링을 허용하는 방식으로 정의한다. 따라서 광선 추적 및 글로벌 일루미네이션을 지원하는 물리 기반 렌더러에 적합하다.
실시간 렌더링을 위한 셰이딩 언어는 현재 널리 사용된다. 이들은 하드웨어 추상화를 높이고 이전 패러다임(변환 및 셰이딩 방정식을 하드코딩한)보다 더 유연한 프로그래밍 모델을 제공한다. 이들은 더 적은 오버헤드로 더 많은 제어와 풍부한 콘텐츠를 제공한다.
GPU에서 직접 실행되도록 설계된 셰이더는 스트림 프로그래밍 모델 덕분에 높은 처리량의 일반 처리에서 유용해졌다. 이는 유사한 하드웨어에서 실행되는 컴퓨트 셰이더 개발로 이어졌다(참조: GPGPU).
역사적으로 몇몇 언어가 시장을 지배했으며, 아래에서 설명한다.
ARB 어셈블리 언어.
OpenGL 아키텍처 검토 위원회는 2002년에 ARB 어셈블리 언어를 프로그래밍 가능한 그래픽 프로세서를 위한 표준 저수준 명령어 집합으로 확립했다.
고수준 OpenGL 셰이딩 언어는 종종 로딩 및 실행을 위해 ARB 어셈블리로 컴파일된다. 고수준 셰이딩 언어와 달리 ARB 어셈블리는 제어 흐름이나 분기를 지원하지 않는다. 그러나 GPU 간 이식성이 필요할 때 계속 사용된다.
OpenGL 셰이딩 언어.
GLSL 또는 glslang으로도 알려진 이 표준화된 셰이딩 언어는 OpenGL과 함께 사용하기 위한 것이다.
이 언어는 정점 및 프래그먼트 처리를 단일 명령어 집합으로 통합하여 조건부 루프 및 분기를 허용한다. GLSL은 ARB 어셈블리 언어 이전에 있었다.
Cg 프로그래밍 언어.
엔비디아가 개발한 Cg 언어는 쉽고 효율적인 생산 파이프라인 통합을 위해 설계되었다. 이 언어는 API 독립성을 특징으로 하며 자산 관리를 개선하는 많은 무료 도구와 함께 제공된다. Cg 개발은 2012년에 중단되었으며, 현재는 사용되지 않는 언어이다.
DirectX 셰이더 어셈블리 언어.
Direct3D 8 및 9의 셰이더 어셈블리 언어는 셰이더 모델 1.0/1.1, 2.0 및 3.0에서 정점 셰이더 및 픽셀 셰이더의 주요 프로그래밍 언어이다. 이는 그래픽 드라이버로 실행을 위해 전달되는 중간 셰이더 바이트코드의 직접적인 표현이다.
셰이더 어셈블리 언어는 통합 셰이더 모델 4.0, 4.1, 5.0 및 5.1을 직접 프로그래밍하는 데 사용할 수 없지만, 디버깅 목적으로 중간 바이트코드의 표현 기능을 유지한다.
DirectX 고수준 셰이더 언어.
고수준 셰이딩 언어(HLSL)는 DirectX 9 이상 및 Xbox 게임 콘솔용 C-스타일 셰이더 언어이다. 엔비디아의 Cg와 관련이 있지만 DirectX 및 Xbox에서만 지원된다. HLSL 프로그램은 DirectX 셰이더 어셈블리 언어에 해당하는 바이트코드로 컴파일된다.
HLSL은 Direct3D 9에서 셰이더 어셈블리 언어의 선택적 대안으로 도입되었지만, 셰이더 어셈블리 언어가 사용되지 않는 Direct3D 10 이상에서는 필수가 되었다.
어도비 픽셀 벤더 및 어도비 그래픽 어셈블리 언어.
어도비 시스템즈는 어도비 플래시 10 API의 일부로 픽셀 벤더를 추가했다. 픽셀 벤더는 픽셀 데이터만 처리할 수 있었고 3D 정점 데이터는 처리할 수 없었다. 플래시 11은 Stage3D라는 완전히 새로운 3D API를 도입했으며, 이는 어도비 그래픽 어셈블리 언어(AGAL)라는 자체 셰이딩 언어를 사용하며 완전한 3D 가속을 지원한다. 플래시 11.8에서 픽셀 벤더에 대한 GPU 가속이 제거되었다.
AGAL은 저수준이지만 플랫폼 독립적인 셰이딩 언어로, 예를 들어 ARB 어셈블리 언어로 또는 GLSL로 컴파일될 수 있다.
플레이스테이션 셰이더 언어.
소니그룹은 Cg/HLSL과 유사하지만 플레이스테이션 4에 특화된 셰이딩 언어로 플레이스테이션 셰이더 언어(PSSL)를 발표했다. PSSL은 DirectX 12의 HLSL 셰이더 언어와 대체로 호환되지만, PS4 및 PS5 플랫폼을 위한 추가 기능을 갖춘 것으로 알려져 있다.
메탈 셰이딩 언어.
애플은 2012년 이후에 출시된 대부분의 Mac과 5S 이후의 아이폰, 아이패드 에어 이후의 아이패드에서 실행되는 Metal이라는 저수준 그래픽스 API를 개발했다. Metal은 C++14 기반의 Metal Shading Language(MSL)라는 자체 셰이딩 언어를 가지고 있으며, 클랭과 LLVM을 사용하여 구현되었다. MSL은 정점, 프래그먼트 및 컴퓨트 처리를 통합한다.
WebGPU 셰이딩 언어.
WebGPU 셰이딩 언어(WGSL)는 WebGPU를 위한 셰이더 언어이다. 즉, WebGPU API를 사용하는 애플리케이션은 WGSL을 사용하여 GPU에서 실행되는 셰이더로 알려진 프로그램을 표현한다.
셰이더를 한 셰이딩 언어에서 다른 언어로 이식하기 위해 몇 가지 접근 방식이 사용된다.
린든 B. 존슨의 제36대 미국 대통령으로서의 임기는 존 F. 케네디 대통령 암살로 1963년 11월 22일에 시작되어 1969년 1월 20일에 끝났다. 그는 대통령직을 승계했을 때 부통령으로서 일을 재임했다. 텍사스주 출신의 민주당원인 존슨은 1964년 대통령 선거에 출마하여 공화당 후보 배리 골드워터를 압도적인 표차로 누르고 4년 임기를 얻었다. 존슨은 낮은 인기 때문에 1968년 대통령 선거에서 두 번째 임기를 위한 입후보를 철회했다. 존슨의 뒤를 이어 공화당의 리처드 닉슨이 당선되었고, 존슨이 선호하던 후계자인 휴버트 험프리는 선거에서 패배했다. 그의 대통령 임기는 20세기 미국 현대 자유주의의 정점을 기록했다.