승인됨: Fortect
directx cg 매뉴얼에서 이 오류가 발생했다면 오늘의 기사가 도움이 많이 될 것입니다.
승인됨: Fortect
Fortect은 세계에서 가장 인기 있고 효과적인 PC 수리 도구입니다. 수백만 명의 사람들이 시스템을 빠르고 원활하며 오류 없이 실행하도록 신뢰합니다. 간단한 사용자 인터페이스와 강력한 검색 엔진을 갖춘 Fortect은 시스템 불안정 및 보안 문제부터 메모리 관리 및 성능 병목 현상에 이르기까지 광범위한 Windows 문제를 빠르게 찾아 수정합니다.
컴퓨터 그래픽 자습서는 여기에서 온라인으로 사용할 수 있습니다. InformIT 및 Addison-Wesley에서 30% 할인된 가격으로 시리즈가 해제되었을 때 아름답게 디자인된 버전의 항목 및 기타 책을 구입할 수 있습니다.
오늘 최근 문서 페이지를 방문하여 내가 하는 모든 말, 최신 강의 및 프로젝트와 함께 도움이 될 수 있는 기술 문서 프레젠테이션을 확인하십시오.
<시간>
<리> 정점, 조각 및 각 그래픽 파이프라인은 최신 그래픽 디자인 하드웨어의 관점에서 스트리밍 데이터를 지적하고 Cg가 스트리밍 데이터에 어떻게 맞는지 설명합니다.
<리> Historical Cg Development는 Cg의 개발에 대한 기본 정보를 제공합니다.
<리> Cg 환경은 Cg 런타임 및 기존 인터페이스를 통해 응용 프로그램이 Cg 솔루션을 사용하는 방법을 설명합니다. 3D 응용 프로그램(API)과 연결된 프로그래밍.
1.1 무슨 Cg?
이 책에서는 Cg 프로그래밍 언어를 구현하는 전략을 배웁니다. Cg 언어를 사용하면 일반적으로 프로그래밍 가능한 기능적 그래픽 하드웨어로 그린 개체와 관련된 모양, 모양 및 움직임을 제어할 수 있습니다. 이러한 속성의 소프트웨어 제어를 최신 GPU의 놀라운 속도 및 잠재력과 결합합니다. 아티스트 및/또는 프로그래머를 막론하고 컴퓨터 이미지는 일반적으로 그들이 달성하는 실시간 이미지를 제어할 수 없습니다.
Cg는 그래픽 디자이너에게 여러 프로그램에 걸쳐 몰입형 실시간 영화 경험을 지연 없이 생성할 수 있는 포괄적이고 사용하기 쉬운 프로그래밍 플랫폼을 제공합니다. Cg는 새로운 수준의 추상화를 제공함으로써 개발자가 OpenGL, DirectX, Windows, Linux, Macintosh OS X 및 Xbox와 같은 플랫폼과 같은 다양한 그래픽 하드웨어 시스템 언어의 시스템 언어를 직선 프로그램으로 도울 필요를 제거합니다. Cg는 Microsoft Corporation과 긴밀히 협력하여 개발되었을 가능성이 있으며 DirectX 9.0이 있기 때문에 Precise OpenGL API 및 Microsoft의 HLSL(High Level Shading Language)과 호환됩니다.
Cg의 경우 “그래픽의 경우 C”가 됩니다. “C” 프로그래밍 언어는 아마도 1970년대에 발명된 인기 있는 범용 언어일 것입니다. 그 인기와 결과적으로 스크럽과 같은 디자인으로 인해 C는 결국 여러 프로그래밍 언어를 설정하는 기초가 되었습니다. 예를 들어, C ++ 및 잠재적인 Java는 주로 C 구문 구조를 기반으로 합니다. Cg 자체도 C를 기반으로 합니다. C에 익숙하거나 파생된 여러 C 외국어 중 하나에 익숙하다면 Cg는 배우기 쉬울 것입니다.
반면에 C 프로그래밍 언어나 Militar에 익숙하지 않다면 진정으로 컴퓨터 그래픽을 사랑하고 새로운 요소를 배우고 싶다면 계속 읽으십시오. 컴퓨터 그래픽 프로그램은 종종 짧고 간단합니다.
이 단계의 대부분은 기본 지식을 제공하므로 이러한 장을 효율적으로 이해하고 사용하기 위한 강력한 컨텍스트를 제공합니다. 반면에 Cg를 배우는 것은 당신에게 많은 것일 수 있습니다. 언제든지 챕터 2를 잃을 수 있지만 일부 지침에 따르면 개인이 다이빙하는 것이 더 편리할 것입니다.
1.1.1 그래픽 하드웨어 프로그래밍 언어
Cg는 C, C++와 다르며 단순히 Java가 매우 전문화되어 있기 때문입니다. 아무도 워드 프로세서를 사용하여 컴퓨터 그래픽 스프레드 시트를 작성하지 않을 것입니다. 대신 Cg는 그래픽을 렌더링할 때 모양, 느낌 및 개체의 움직임을 프로그래밍 방식으로 제어하는 기능을 지원합니다. 일반적으로 이러한 유형의 언어를 언어 뒤에 있는 현재 음영 언어라고 합니다. 그러나 Cg는 단순한 음영 그 이상을 수행할 수 있습니다. 예를 들어 cg 제품은 음영 없이 물리 시뮬레이션, 구성 및 추가 작업을 수행할 수 있습니다.
고급 Cg 프로그램을 프로그램 가능한 일러스트레이션이나 사진 하드웨어를 시험해봄으로써 서술 대상에 대한 상세한 레시피로 생각하십시오. 예를 들어, Cg 프로그램을 매우 잘 작성하여 새로운 멋진 표면을 만들거나 이 모양을 가상으로 애니메이션할 수 있습니다. 나중에 섹션 1.3에 있는 셰이딩 언어와 역사에서 Cg의 위치뿐 아니라 경험에 대해 더 배우게 될 것입니다.
1.1.2 CGS 데이터 흐름 모델
아트워크, Cg 및 기타 여러 언어 뉘앙스를 다루는 Pomimo는 데이터 흐름을 계산하는 특정 모델을 기반으로 하기 때문에 기존 개발 언어와 다릅니다. 이러한 사본에서 일련의 구체화 단계를 거친 데이터에 대한 응답 중에 계산이 수행됩니다.
Cg 프로그램은 이미지를 렌더링할 때 처리할 수 있는 꼭짓점과 부분(개인이 조각이 무엇인지 모르는 경우 픽셀을 생각하십시오)과 함께 좋은 결과를 제공합니다. 정점 조각이 한쪽으로 흐르고 어떤 식으로든 변형되고 결과적으로 다른 쪽으로 흐를 수 있는 다크 박스 형태의 Cg 프로그램을 상상해 보십시오. 그러나 이 필드는 실제로 흰색이 아닙니다. 모든 사람이 여러분이 전달한 컴퓨터 그래픽 프로그램을 사용하여 그곳에서 정확히 무슨 일이 일어나고 있는지 쓸 수 있기 때문입니다.
3D 장면을 렌더링하는 동안 단순히 정점을 계획하거나 래스터라이저가 각 청크에 대해 생성할 때 최근 해당하는 cg 프로그램 또는 정점 청크가 완료됩니다. 섹션 1.3에서는 내 Cg 모델의 데이터 흐름을 더 자세히 설명합니다.
새 PC – 그리고 완전히 새오랫동안 모든 게임 콘솔에는 래스터화 3D 모델로의 변환과 같은 그래픽 작업 전용 그래픽 처리 하우스(GPU)가 포함되어 있습니다. Cg 소프트웨어 응용 프로그램은 실제로 이러한 컴퓨터의 GPU에서 실행됩니다.
1.1.3 GPU 전문화 및 CPU 일반화
PC이든 게임이든 간에 GPU가 있든 없든 운영 체제가 실행되는 정직한 CPU와 응용 프로그램이 있어야 합니다. 프로세서는 자연스럽게 일상적인 대상입니다. 프로세서는 C++ 또는 Java와 같은 범용 다른 언어로 작성된 응용 프로그램(직접 개념, 프로세서 및 회계 패키지용)을 실행합니다.
GPU의 특수 설계로 인해 3D 장면 생성과 같은 그래픽 작업을 수행하는 데 범용 프로세서보다 훨씬 빠릅니다. 새로운 GPU는 초당 수십억 개는 아니더라도 수천 개의 정점을 처리합니다. 미래의 GPU는 훨씬 더 커질 것입니다. 이것은 프로세서가 아날로그를 투영할 수 있는 정확한 속도보다 훨씬 빠릅니다. 총 정점 및 단편화된 문장 수입니다. 그러나 GPU는 CPU가 실행할 수 있는 일반적인 우연한 범용 프로그램을 실행할 수 없습니다.
GPU의 특수화된 고성능 특성은 Cg의 존재 자체를 제공하는 것입니다. 범용 프로그래밍 다양한 언어는 특수 정점 및 추가 조각 처리 작업에 너무 개방적입니다. 반면에 Cg는 의심할 여지 없이 이 중요한 작업에 관한 것입니다. Cg는 또한 GPU 모델의 성능과 완전히 일치하는 추상 계획 실행을 제공합니다. GPU 모델의 고유한 설정에 대한 자세한 내용은 1.2절을 참조하십시오.
1.1.4 Cg 혜택의 이유
상호 작용의 꿈을 지원하려면 3D 응용 프로그램이 초당 약 15프레임의 애니메이션 보폭을 지원해야 합니다. 일반적으로 초당 60프레임 및/또는 그 이상을 “실시간”으로 생각하며 일반적으로 대화형 응용 프로그램에서 일반적으로 볼 수 있는 속도는 즉시 상당한 수준으로 보입니다. 컴퓨터 화면에 추가로 백만 픽셀이 다시 그려질 수 있습니다. 사진에서 발생하는 경우 GPU는 일반적으로 화면의 단일 픽셀을 처리합니다.