Это команда cgc, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
CGC - драйвер компилятора cg
СИНТАКСИС
cgc [параметры] файл ...
ОПИСАНИЕ
CGC это автономный компилятор Cg, который переводит программы Cg или GLSL в OpenGL или
Код сборки шейдера DirectX или код языка шейдера OpenGL или DirectX.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
Базовый кредита
-Посещение имя
Устанавливает функцию входа для компиляции шейдера. По умолчанию "основной".
-o файл
Устанавливает выходной файл для записи. По умолчанию выводится на "stdout".
-l файл
Устанавливает файл листинга, в который записываются сообщения об ошибках и предупреждения. По умолчанию
"stderr".
-профиль имя
Выбирает целевой профиль, указывая язык шейдера, который будет сгенерирован.
-profileopts opt1, opt2, ...
-PO opt1, opt2, ...
Устанавливает один или несколько параметров для конкретного профиля.
-Въезд запрещен
Устанавливает режим только проверки, при котором шейдер не компилируется, а весь код во входном файле
проверяется на синтаксическую корректность.
Язык кредита
-огглсл
Устанавливает исходный язык на GLSL.
-огли
Устанавливает исходный язык на OpneGL / ES GLSL.
-строгий
- районный
Включите или отключите строгую проверку типов, где будут находиться наиболее сомнительные конструкции.
помечены как предупреждения.
-glslWerror
Аналогично "-strict", но, кроме того, непереносимые конструкции GLSL будут помечены как ошибки.
-новаться
Отключить все предупреждения.
-nowarn =N, N, ...
Отключите одно или несколько пронумерованных предупреждений.
-FX
-нофкс
Включает или отключает режим синтаксического анализа FX, в котором распознаются ключевые слова FX. По умолчанию включено
в режиме Cg и выключен в режиме GLSL.
-nostdlib
Отключите стандартную библиотеку.
Code Поколение Возможности
-быстрая математика
-нет математики
Включите или отключите оптимизацию, которая может изменить / потерять точность в битах младшего разряда, например
как ассоциативные преобразования типа «(a + b) + c» вместо «a + (b + c)». По умолчанию
"-fastmath".
-быстрая точность
-нет быстрой точности
Включить или отключить оптимизацию, выполняющую операции с меньшей точностью, чем указано
когда результат позже преобразуется в более низкую точность или операнды были
изначально с меньшей точностью. По умолчанию "-nofastprecision".
-лучшая точность
Всегда делайте вещи с максимально возможной точностью; используйте только операции с меньшей точностью
если нет возможности отличия. Подразумевается "-nofastmath" и
"-nofastprecision".
-unroll all | none | count =N
Раскрутка контура управления. "-unroll all" заставит развернуть все петли, которые могут быть
развернутый, в то время как "-unroll none" предотвратит развертывание, кроме случаев, когда код не может иначе
будет сгенерирован в текущих профилях (поэтому он не повлияет на профили, которые не
поддержка петель). "количество разверток =N " развернет петли, если оценка
результирующий код меньше чем N инструкции. Смета не учитывает
дальнейшие оптимизации, которые могут быть выполнены после развертывания, так что это может быть довольно
неточный.
-inline all | none | count =N
Встраивание управляющих функций. Установка "-inline none" дополнительно отключит встраивание
функций с явным ключевым словом inline, которые в противном случае всегда встраиваются.
Установка "-inline count = 0" эффективно отключит встраивание всех функций, которые
не иметь явного "встроенного" ключевого слова.
-ifcvt all | none | count =N
управление преобразованием if (замена небольших блоков if / else условным
задания).
-ON Устанавливает уровень оптимизации компилятора от 0 (самый низкий) до 3 (самый высокий). Выше
Значения могут дать лучший код и вызовут увеличение времени компиляции. По умолчанию
«-O1».
-looplimit N
Предположим, что в циклах компилятор не может определить верхнюю границу количества
итераций может быть столько, сколько N итераций. Это может потребовать создания дополнительного кода
для таких петель в некоторых профилях.
-d3d
Сгенерируйте код, совместимый со спецификацией Direct3D.
-MaxInstInBasicBlock N
разбивать базовые блоки после N инструкции. Это влияет на локальную оптимизацию
которые не пересекают базовые границы блоков и могут избежать плохих сбоев во время компиляции в
наличие огромных базовых блоков из-за нелинейных в базовом блоке алгоритмов
размер.
-maxunrollcount N
Устарело. Не разворачивайте петли с более чем N итераций. Используйте параметр -unroll
вместо этого, что обеспечивает более точный контроль.
препроцессор Возможности
-DMACRO[=VALUE]
Устанавливает макрос препроцессора. Если VALUE не указано, по умолчанию - 1.
-Iкаталог
Добавляет каталог в конец пути поиска для файлов "#include". По умолчанию
путь поиска пуст.
-E Не компилировать, просто предварительно обработать ввод.
-P С «-E» подавляет создание директив «#line» в выводе.
-C С «-E» сохраняет комментарии в выводе.
-MG Игнорировать файлы "#include", которые не могут быть найдены, вместо того, чтобы выдавать ошибку.
-M
-MM
-MD
-ММД
-МП
-м файл
-MT цель
-MQ цель
Сгенерировать информацию о зависимостях для файлов "#include" d. Эти варианты предназначены
чтобы быть совместимым с опциями "gcc".
Прочее Возможности
-тихо
-q Подавить весь вывод «шума» (уведомления об авторских правах, указание того, какие файлы
скомпилирован и т. д.). При использовании -o и -l вывод не должен производиться.
-без кода
Подавить генерацию окончательного кода. На самом деле будет проходить через компилятор
(так что любые имеющиеся ошибки должны быть диагностированы), но не производят никакого фактического выходного кода.
-v
--версия
Вывести информацию о версии компилятора в листинг.
-h Вывести краткую справку по параметрам на стандартный вывод и выйти.
-Помощь
Распечатать более длинную сводку справки по параметрам в стандартный вывод, включая все поддерживаемые профили и
параметры профиля и выйти.
Типа type_definition
Установите привязку типа переопределения для переменной.
-typefile файл
Чтение привязок типов переопределения для переменных из файла.
-dumpinputbind файл
Вывести привязку типов для всех переменных в файл. Этот файл может быть передан обратно в
компилятор с "-typefile".
Отладка кредита
-отлаживать
Включите встроенную функцию «debug», чтобы прервать работу шейдера и немедленно
вывести значение.
-отлаживать
Подобно "-debug", за исключением того, что шейдер не прерывает работу; вместо этого он продолжает и выводит
значение последней вызванной функции "отладки".
-debugdefault =ценностное
Как и "-debug", за исключением случаев, когда вызов "отладки" не достигнут, вывод будет установлен на
указанное значение вместо того, что обычно вычисляет шейдер.
-не рекомендуется
Выдавать ошибки вместо предупреждений для любых используемых устаревших функций.
ПРОФИЛИ
A профиль указывает язык вывода компилятора cg (либо сборка шейдера
диалект, или язык затенения). У каждого профиля есть свой набор профиль кредита , которые могут
быть настроенным для него, хотя многие связанные профили имеют похожие или идентичные параметры. Профили
могут быть сгруппированы по типу программы, API или генерации графического процессора.
Профили DirectX
ds_5_0, gs_4_0, gs_5_0, hlslf, hlslv, hs_5_0, ps_1_1, ps_1_2, ps_1_3, ps_2_0, ps_2_x,
ps_3_0, ps_4_0, ps_5_0, vs_1_1, vs_2_0, vs_2_x, vs_3_0, vs_4_0, vs_5_0
Профили OpenGL
arbfp1, arbvp1, fp20, fp30, «fp30unlimited», fp40, «fp40unlimited», glslf, glslg,
glslv, gp4fp, gp4gp, gp4vp, gp5fp, gp5gp, gp5tcp, gp5tep, gp5vp, vp20, vp30, vp40
Профили фрагментов
arbfp1, fp20, fp30, «fp30unlimited», fp40, «fp40unlimited», glslf, gp4fp, gp5fp,
hlslf, ps_1_1, ps_1_2, ps_1_3, ps_2_0, ps_2_x, ps_3_0, ps_4_0, ps_5_0
Геометрия профилей
глслг, gp4gp, gp5gp, gs_4_0, gs_5_0
Вершинные профили
arbvp1, glslv, gp4vp, gp5vp, hlslv, vp20, vp30, vp40, vs_1_1, vs_2_0, vs_2_x, vs_3_0,
vs_4_0, vs_5_0
Профили серии GeForce 3/4
фп20, вп20
Профили серии GeForce 5
фп30, вп30
Профили серии GeForce 6/7
фп40, вп40
GeForce 8/9/100/200/300 Series, профили OpenGL 3.x Quadro
гп4фп, гп4гп, гп4вп
GeForce 400 Series, профили OpenGL 4.x Quadro
gp5fp, gp5gp, gp5tcp, gp5tep, gp5vp
Профиль кредита
Вот полный список всех профилей и соответствующих им параметров профиля.
арбфп1
Нацелен на ARB_фрагмент_программа Расширение OpenGL
"-po" "ARB_draw_buffers"
Использовать ARB_draw_buffers опция для нескольких целевых буферов рендеринга (MRT). Это
по умолчанию
"-po" "ATI_draw_buffers"
Использовать ATI_draw_buffers опция для нескольких целевых буферов рендеринга (MRT).
"-po" "MaxDrawBuffers ="N
Установите максимальное количество целевых буферов рендеринга. По умолчанию 1
"-po" "MaxLocalParams ="N
Установите максимальное количество доступных слотов для унифицированных параметров. По умолчанию 32
"-po" "MaxTexIndirections ="N
Устанавливает максимальное количество косвенных обращений к текстуре, разрешенное в выходной программе.
По умолчанию 1024
"-po" "NumInstructionSlots ="N
Устанавливает максимальное количество инструкций в выходной программе. По умолчанию 1024
"-po" "NumMathInstructionSlots ="N
Устанавливает максимальное количество инструкций, не связанных с текстурой, в выходной программе.
По умолчанию 1024
"-po" "NumTemps ="N
Устанавливает максимальное количество регистров TEMP в выходной программе. По умолчанию 32
"-po" "NumTexInstructionSlots ="N
Устанавливает максимальное количество инструкций текстуры в выходной программе. По умолчанию
1024
арбвп1
Нацелен на ARB_vertex_program Расширение OpenGL
"-po" "MaxAddressRegs ="N
Устанавливает максимальное количество регистров ADDRESS в выходной программе. По умолчанию 1
"-po" "MaxInstructions ="N
Устанавливает максимальное количество инструкций в выходной программе. По умолчанию 1024
"-po" "MaxLocalParams ="N
Установите максимальное количество доступных слотов для унифицированных параметров. По умолчанию 96
"-po" "NumTemps ="N
Устанавливает максимальное количество регистров TEMP в выходной программе. По умолчанию 32
"-по" "PosInv"
Сгенерировать инвариантный код позиции (такой же, как фиксированная функция) для вывода POSITION
fp20
Нацелен на NV_register_combiners2 и NV_texture_shader Расширения OpenGL
fp30
Нацелен на NV_fragment_program Расширение OpenGL
"-po" "NumInstructionSlots ="N
Устанавливает максимальное количество инструкций в выходной программе. По умолчанию 256
"-po" "NumTemps ="N
Устанавливает максимальное количество временных файлов в выходной программе. По умолчанию 32
"fp30unlimited"
То же, что и fp30, с различными аппаратными ограничениями на регистры и инструкции, снятые
"-po" "NumInstructionSlots ="N
Устанавливает максимальное количество инструкций в выходной программе. По умолчанию 4194304
"-po" "NumTemps ="N
Устанавливает максимальное количество временных файлов в выходной программе. По умолчанию 512
fp40
Нацелен на NV_fragment_program2 Расширение OpenGL
"-по" "яблокоКилВАР"
Обходите различные ошибки с помощью инструкций KIL в реализации OSX-tiger для
NV_fragment_program2
"-po" "ARB_draw_buffers"
Использовать ARB_draw_buffers опция для нескольких целевых буферов рендеринга (MRT). Это
по умолчанию
"-po" "ATI_draw_buffers"
Использовать ATI_draw_buffers опция для нескольких целевых буферов рендеринга (MRT).
"-po" "MaxLocalParams ="N
Установите максимальное количество доступных слотов для унифицированных параметров. По умолчанию бесконечно
"-po" "NumInstructionSlots ="N
Устанавливает максимальное количество инструкций в выходной программе. По умолчанию
бесконечный
"-po" "NumTemps ="N
Устанавливает максимальное количество регистров TEMP в выходной программе. По умолчанию
бесконечный
"-po" "OutColorPrec ="N
If N равно 3 или 4, вывести с точностью до fp16. Если N равно 2, принудительный вывод на fp32
точность.
"fp40unlimited"
То же, что и fp40, с различными аппаратными ограничениями на регистры и инструкции, снятые
"-по" "яблокоКилВАР"
Обходите различные ошибки с помощью инструкций KIL в реализации OSX-tiger для
NV_fragment_program2
"-po" "ARB_draw_buffers"
Использовать ARB_draw_buffers опция для нескольких целевых буферов рендеринга (MRT). Это
по умолчанию
"-po" "ATI_draw_buffers"
Использовать ATI_draw_buffers опция для нескольких целевых буферов рендеринга (MRT).
"-po" "MaxLocalParams ="N
Установите максимальное количество доступных слотов для унифицированных параметров. По умолчанию 1024
"-po" "NumInstructionSlots ="N
Устанавливает максимальное количество инструкций в выходной программе. По умолчанию 4194304
"-po" "NumTemps ="N
Устанавливает максимальное количество регистров TEMP в выходной программе. По умолчанию 512
"-po" "OutColorPrec ="N
If N равно 3 или 4, вывести с точностью до fp16. Если N равно 2, принудительный вывод на fp32
точность.
"общий"
Создает дамп программы в неисполняемом формате
glslf, glslg и glslv
Нацелен на язык затенения OpenGL (GLSL) v1.10. glslf нацелена на программы-фрагменты
в то время как glslv нацелена на вершинные программы
версия =волна
Версия GLSL для таргетинга. Поддерживаемые версии 100, 110, 120, 130, 140 и 150.
пользовательTexCoord
Используйте определяемое пользователем изменение вместо gl_TexCoord.
ATI_draw_buffers
Используйте ATI_draw_buffers расширение для MRT.
EXT_gpu_shader4
Используйте EXT_gpu_shader4 расширение там, где это необходимо.
gp4fp
Нацелен на NV_gpu_program4 и NV_fragment_program4 Расширения OpenGL.
«-по» «фастимул»
Предположим, что входы целочисленного умножения имеют не более 24 значащих битов.
"-po" "NV_shader_buffer_load"
Использовать NV_shader_buffer_load Расширение OpenGL.
"-po" "NV_parameter_buffer_object2"
Использовать NV_parameter_buffer_object2 Расширение OpenGL.
«-по» «PaBO2»
Использовать NV_parameter_buffer_object2 Расширение OpenGL.
"-po" "ARB_draw_buffers"
Использовать ARB_draw_buffers опция для нескольких целевых буферов рендеринга (MRT). Это
по умолчанию
"-po" "ATI_draw_buffers"
Использовать ATI_draw_buffers опция для нескольких целевых буферов рендеринга (MRT).
"-po" "pixel_center_integer"
Используйте целочисленные центры пикселей.
"-po" "origin_upper_left"
Использовать начало координат верхнего левого пикселя.
gp4gp
Нацелен на NV_gpu_program4 и NV_geometry_program4 Расширения OpenGL.
"-po" "ТОЧКА"
"-po" "ЛИНИЯ"
"-po" "LINE_ADJ"
"-po" "ТРЕУГОЛЬНИК"
"-po" "TRIANGLE_ADJ"
Установите тип входного примитива для геометрической программы
"-po" "POINT_OUT"
"-po" "LINE_OUT"
"-po" "ТРЕУГОЛЬНИК_OUT"
Установите тип выходного примитива для геометрической программы
"-po" "Vertices ="N
Установить количество вершин, выводимых программой геометрии
gp4vp
Нацелен на NV_gpu_program4 и NV_vertex_program4 Расширения OpenGL.
"-по" "PosInv"
Сгенерировать инвариантный код позиции (такой же, как фиксированная функция) для вывода POSITION
gp5fp
Нацелен на NV_gpu_program5 Расширение OpenGL.
«-по» «фастимул»
Предположим, что входы целочисленного умножения имеют не более 24 значащих битов.
"-po" "NV_shader_buffer_load"
Использовать NV_shader_buffer_load Расширение OpenGL.
"-po" "NV_parameter_buffer_object2"
Использовать NV_parameter_buffer_object2 Расширение OpenGL.
«-по» «PaBO2»
Использовать NV_parameter_buffer_object2 Расширение OpenGL.
"-po" "ARB_draw_buffers"
Использовать ARB_draw_buffers опция для нескольких целевых буферов рендеринга (MRT). Это
по умолчанию
"-po" "ATI_draw_buffers"
Использовать ATI_draw_buffers опция для нескольких целевых буферов рендеринга (MRT).
"-po" "pixel_center_integer"
Использовать ARB_fragment_coord_conventions Расширение OpenGL для указания целочисленного пикселя
центры.
"-po" "origin_upper_left"
Использовать ARB_fragment_coord_conventions Расширение OpenGL для указания верхнего левого угла
происхождение пикселя.
"-po" "NV_early_fragment_tests"
Перед вызовом программы фрагмента выполните тесты глубины и трафарета.
gp5gp
Нацелен на NV_gpu_program5 Расширение OpenGL.
"-po" "ТОЧКА"
"-po" "ЛИНИЯ"
"-po" "LINE_ADJ"
"-po" "ТРЕУГОЛЬНИК"
"-po" "TRIANGLE_ADJ"
Установите тип входного примитива для геометрической программы
"-po" "POINT_OUT"
"-po" "LINE_OUT"
"-po" "ТРЕУГОЛЬНИК_OUT"
Установите тип выходного примитива для геометрической программы
"-po" "Vertices ="N
Установить количество вершин, выводимых программой геометрии
gp5tcp
Нацелен на NV_tessellation_program и NV_gpu_program5 Расширения OpenGL.
gp5tep
Нацелен на NV_tessellation_program и NV_gpu_program5 Расширения OpenGL.
gp5vp
Нацелен на NV_gpu_program5 Расширение OpenGL.
"-по" "PosInv"
Сгенерировать инвариантный код позиции (такой же, как фиксированная функция) для вывода POSITION
hlslf hlslv
Нацелен на Microsoft High-Level Shading Language (HLSL). hlslf нацелены на пиксельные программы
в то время как hlslv нацелен на вершинные программы
ps_1_1 ps_1_2 ps_1_3
Нацелен на пиксельные программы DirectX
"-po" "MaxPixelShaderValue ="N
Максимальное абсолютное значение, представляемое в пиксельном шейдере. По умолчанию 1.
ps_2_0 ps_2_x
Нацелен на пиксельные программы DirectX
"-po" "MaxDrawBuffers ="N
Установите максимальное количество целевых буферов рендеринга. По умолчанию 1
"-po" "NumInstructionSlots ="N
Устанавливает максимальное количество инструкций в выходной программе. По умолчанию 96 или
512
"-po" "NumTemps ="N
Устанавливает максимальное количество временных файлов в выходной программе. По умолчанию 12 или 32
ps_3_0
Нацелен на пиксельные программы DirectX
"-po" "MaxDrawBuffers ="N
Установите максимальное количество целевых буферов рендеринга. По умолчанию 1
"-po" "MaxLocalParams ="N
Установите максимальное количество доступных слотов для унифицированных параметров. По умолчанию 224
"-po" "NumInstructionSlots ="N
Устанавливает максимальное количество инструкций в выходной программе. По умолчанию 32768
"-po" "NumTemps ="N
Устанавливает максимальное количество временных файлов в выходной программе. По умолчанию 32
"-po" "OutColorPrec ="N
If N равно 3 или 4, вывести с точностью до fp16. Если N равно 2, принудительный вывод на fp32
точность.
vp20
Нацелен на NV_vertex_program Расширение OpenGL
"-po" "MaxLocalParams ="N
Установите максимальное количество доступных слотов для унифицированных параметров. По умолчанию 96
"-по" "PosInv"
Сгенерировать инвариантный код позиции (такой же, как фиксированная функция) для вывода POSITION
vp30
Нацелен на NV_vertex_program2 Расширение OpenGL
"-po" "MaxLocalParams ="N
Установите максимальное количество доступных слотов для унифицированных параметров. По умолчанию 256
"-по" "PosInv"
Сгенерировать инвариантный код позиции (такой же, как фиксированная функция) для вывода POSITION
vp40
Нацелен на NV_vertex_program3 Расширение OpenGL
"-po" "MaxAddressRegs ="N
Устанавливает максимальное количество регистров ADDRESS в выходной программе. По умолчанию 2
"-po" "MaxInstructions ="N
Устанавливает максимальное количество инструкций в выходной программе. По умолчанию 2048
"-po" "MaxLocalParams ="N
Установите максимальное количество доступных слотов для унифицированных параметров. По умолчанию 544
"-po" "NumTemps ="N
Устанавливает максимальное количество регистров TEMP в выходной программе. По умолчанию 32
"-по" "PosInv"
Сгенерировать инвариантный код позиции (такой же, как фиксированная функция) для вывода POSITION
vs_1_1
Целевые программы вершин DirectX
"-po" "dcls"
Вывод операторов dcls в стиле dx9
"-po" "MaxLocalParams ="N
Установите максимальное количество доступных слотов для унифицированных параметров. По умолчанию 96
"-po" "NumInstructionSlots ="N
Устанавливает максимальное количество инструкций в выходной программе. По умолчанию 128
"-po" "NumTemps ="N
Устанавливает максимальное количество временных файлов в выходной программе. По умолчанию 12
vs_2_0 vs_2_x
Целевые программы вершин DirectX
"-po" "dcls"
Вывод операторов dcls в стиле dx9
"-po" "MaxLocalParams ="N
Установите максимальное количество доступных слотов для унифицированных параметров. По умолчанию 256
"-po" "NumInstructionSlots ="N
Устанавливает максимальное количество инструкций в выходной программе. По умолчанию 256
"-po" "NumTemps ="N
Устанавливает максимальное количество временных файлов в выходной программе. По умолчанию 12
vs_3_0
Целевые программы вершин DirectX
"-po" "dcls"
Вывод операторов dcls в стиле dx9
"-po" "MaxLocalParams ="N
Установите максимальное количество доступных слотов для унифицированных параметров. По умолчанию 256
"-po" "NumInstructionSlots ="N
Устанавливает максимальное количество инструкций в выходной программе. По умолчанию 32768
"-po" "NumTemps ="N
Устанавливает максимальное количество временных файлов в выходной программе. По умолчанию 32
ОКРУЖАЮЩАЯ СРЕДА
Используйте cgc онлайн с помощью сервисов onworks.net