Shader Editor - Firefox Developer Tools 编辑

Note: This tool has been deprecated and will soon be removed from Firefox. For details, see Deprecated tools.

The Shader Editor enables you to see and edit the vertex and fragment shaders used by WebGL.

WebGL is a JavaScript API for rendering interactive 3D graphics and 2D graphics in the browser without using plugins. With WebGL you provide 2 programs called shaders which are called at the appropriate stages of the OpenGL rendering pipeline: a vertex shader, which computes the clip space coordinates of each vertex to be drawn, and a fragment shader, which determines the color for each pixel to be drawn.

These shaders are written in OpenGL Shading Language, or GLSL. In WebGL they can be included in a page in several ways: as text hardcoded in JavaScript strings, as separate files included using <script> tags, or retrieved from the server as plain text. JavaScript code running in the page then sends them for compilation using the WebGL APIs, and they're executed on the device's GPU when needed.

With the Shader Editor, you can examine and edit the source of the vertex and fragment shaders.

Here's another screencast, showing how you can use the Shader Editor for complex applications (in this case, the Unreal Engine demo):

Opening the Shader Editor

The Shader Editor is disabled by default. To enable it, open the Toolbox settings and check "Shader Editor" in the "Default Firefox Developer Tools" item. You'll now see "Shader Editor" appear in the toolbar. Click it and the Shader Editor opens.

At first you'll just see a blank window with a button asking you to reload the page:

To get started, load a page which creates a WebGL context and loads a program into it. The screenshots below are from the Unreal Engine demo.

You'll now see a window divided into three panes: a list of all the GLSL programs on the left, the vertex shader for the currently selected program in the middle, and the fragment shader for the currently selected program on the right:

Managing programs

The left hand pane lists all programs currently in use by a WebGL context. If you hover over an entry in the list, the geometry drawn by that program is highlighted in red:

If you click the eyeball icon just left of the program's entry, that program is disabled. This is useful for focusing on certain shaders or hiding overlapping geometry:

If you click the entry, its vertex and fragment shaders are shown in the other two panes, and you can edit them.

Editing shaders

The middle and right hand panes show the vertex and fragment shaders for the currently selected program.

You can edit these programs and see the results the next time the WebGL context redraws (for example, in the next animation frame). For example, you can modify the colors:

The editor highlights syntax errors in your code:

If you hover over the cross shown next to a line containing an error, you'll see more details about the problem:

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:103 次

字数:5640

最后编辑:6 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文