<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 著色器編輯器 :-: ![Shader Editor](https://gamemakerchina.github.io/GMS2_manual_en2ch/source/_build/2_interface/1_editors/images/editor_shaders.png) 著色器是一個非常強大的工具,可用于操縱渲染到屏幕上的圖像,其速度之快和范圍之大都令人難以置信,例如,它可以給精靈添加細微的色調,直到產生全屏失真的效果。但是什么是著色器? 著色器基本上是一個由兩部分組成的程序,它直接在顯卡本身上運行,因為 GPU 可以完成所有工作并釋放游戲代碼的 CPU 周期,因此非常快。完整的著色器由頂點著色器程序和片段著色器程序(也稱為像素著色器)組成。這兩個微程序一起工作,來操縱顯卡在屏幕上顯示圖形。 這允許你實時操作實際渲染到顯示緩沖區中的位置、顏色和 alpha 值。 ### 頂點著色器 **頂點著色器**是渲染管道中的可編程著色器階段,用于處理各個頂點(用于渲染任何圖像的三角形的點),以及渲染幾何體時(如精靈或曲面) -*GameMaker Studio 2*創建一個頂點流,稱為*頂點緩沖區*,定義了這些三角形的幾何形狀。 例如,一個精靈會將兩個三角形(多邊形)的幾何圖形呈現在一起,形成一個“四邊形”。來自頂點緩沖區的頂點流作為輸入提供給頂點著色器,頂點著色器可以以可編程方式處理頂點數據。GPU 使用頂點著色器輸出來組合三角形,然后將三角形正確地剪切并剔除到視口,然后發送到 GPU 的光柵化塊,生成*新*的輸出流,由稱為片段的東西構成。 這些是微小的數據結構,每個數據結構都與屏幕上顯示的單個三角形像素相關。 ### 片段著色器 **片段著色器**是渲染管道中處理 “片段” 的可編程著色器階段,- “片段” 是用于給定多邊形紋理的插值像素 - 并且它們負責輸出每個渲染三角形像素的最終像素顏色。它的工作方式如下:片段著色器接收所有那些由頂點著色器沿管道傳遞的片段(正在渲染的三角形的各個像素)作為其輸入。 然后,你可以處理這些片段以更改將繪制到屏幕的最終目標像素的顏色和 alpha 值。 有關著色器如何工作以及它們在圖形管道中的位置的完整概述超出了本手冊的范圍,但是 YoYo Games 已經制作了許多技術博客文章,這些文章提供了一個很好的基礎: * [著色器第 1 部分](https://www.yoyogames.com/blog/14/shaders-overview-part-1) * [著色器第 2 部分](https://www.yoyogames.com/blog/16/shaders-overview-part-2) * [著色器第 3 部分](https://www.yoyogames.com/blog/17/shaders-overview-part-3) * [著色器第 4 部分](https://www.yoyogames.com/blog/18/shaders-overview-part-4) *GameMaker Studio 2*支持以下著色器語言: | 著色器語言 | 目標平臺 | | --- | --- | | GLSL ES | 全平臺 | | GLSL | Mac 和 Ubuntu (Linux) | | HLSL11 | Windows, UWP, XboxOne | | PSSL | Playstation 4 | 要創建著色器資源,只需右鍵單擊![](https://gamemakerchina.github.io/GMS2_manual_en2ch/source/_build/images/icon_rmb.png)“資源” 樹中的 “著色器” 文件夾,然后選擇*創建*。創建基礎著色器后,可以在新資源上使用鼠標右鍵 :-: ![Shader Editor RMB Menu](https://gamemakerchina.github.io/GMS2_manual_en2ch/source/_build/2_interface/1_editors/images/editor_shader_rmbmenu.png) 菜單選擇著色器類型,然后再繼續編輯代碼:![](https://gamemakerchina.github.io/GMS2_manual_en2ch/source/_build/images/icon_rmb.png) 在創建新著色器時,代碼編輯器本身會分成兩個程序,每個著色器都可以從頂部的選項卡中獲得。這是因為*如果沒有這兩個部分,則無法創建著色器*。 即使你只想使用片段著色器,你也必須先創建一個 “通過”(pass through) 頂點著色器,這就是為什么默認情況下創建的新著色器都會有已經編碼的一個通過頂點和片段著色器(在頁面頂部的屏幕截圖中,你可以看到我們已經使用[代碼編輯器窗格視圖](https://gamemakerchina.github.io/GMS2_manual_en2ch/source/_build/2_interface/1_editors/scripts.html#script_edition)來顯示并排兩個著色器...在同時處理兩個著色器程序時很有用)。 值得注意的是,你可以在所有目標平臺上使用 GLSL ES 著色器,但對于**HTML5**目標平臺, 你必須在[HTML5 游戲選項](https://gamemakerchina.github.io/GMS2_manual_en2ch/source/_build/2_interface/3_settings/game_options/options_html5.html)中*啟用 WebGL*,否則它將無法工作。 有關著色器功能以及如何在*GameMaker Studio 2*中使用它們的更多詳細信息,請參閱以下頁面: * [著色器函數](https://gamemakerchina.github.io/GMS2_manual_en2ch/source/_build/3_scripting/4_gml_reference/shaders/index.html)\- 著色器的 GML 參考部分 * [著色器常量](https://gamemakerchina.github.io/GMS2_manual_en2ch/source/_build/3_scripting/4_gml_reference/shaders/shader%20constants/index.html)\-*GameMaker Studio 2*中內置的常量,可在編寫著色器時使用 * [GLSL ES 規范](http://www.khronos.org/registry/gles/specs/2.0/GLSL_ES_Specification_1.0.17.pdf)\-*GameMaker Studio 2*使用的 Open GL 著色器語言規范的pdf
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看