Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: Daemon en 04 de Febrero de 2012, 03:08:04 PM

Título: Depurar shaders.
Publicado por: Daemon en 04 de Febrero de 2012, 03:08:04 PM
Bueno, vuelta a la carga.

Realmente lamento tener que molestar con estas preguntas :-[ ¿Existe algún tipo de log para depurar un shader o alguna manera de ver el valor de las variables que se encuentran en ejecución en cada ciclo?


Muchas gracias.
Título: Re: Depurar shaders.
Publicado por: Gallo en 04 de Febrero de 2012, 07:28:12 PM
Hay una aplicación llamada gDebugger que distribuye AMD solo para windows:

http://developer.amd.com/tools/gDEBugger/Pages/default.aspx

La aplicación era de remedy studios y la tenian para MAC y Linux, su última versión antes de ser comprados por AMD aún está disponible, y la de Mac funciona en Snow Leopard pero no en Lion:

http://www.gremedy.com/download.php

La herramienta es para OpenGL y OpenCL, no recuerdo si podia utilizarse con aplicaciones OpenGL ES.
Título: Re: Depurar shaders.
Publicado por: blau en 05 de Febrero de 2012, 01:08:21 AM
Para windows tienes el Pix de microsoft, o la beta de VS 2011  :)_

CitarThe following sections describe new and enhanced tools for working with 2D and 3D graphics and game development in Visual Studio 11 Developer Preview.

Asset Viewers and Editors
Image and texture editing. Create, inspect, and edit 32-bit compressed images (PNG, JPG, TIFF) and the DirectDraw Surface texture format with a new image editor. The new editor adds support for alpha transparency and textures with mipmaps. For more information, see Working with images and textures.

3D models. Inspect standard 3D model formats (OBJ and Autodesk's FBX) directly in Visual Studio in order to improve the workflow from artist to developer in a modern content production pipeline. Create basic shapes as placeholder art when prototyping 3D games and applications. For more information, see Working with 3-D models.

DirectX Programmable Shaders (HLSL)
Edit and build support for HLSL. Add and compile any kind of HLSL shader in Visual C++ projects with automatic MSBuild support for the Microsoft HLSL Compiler (fxc.exe). Edit HLSL code more easily with syntax coloring, indenting, and outlining.

Visual Shader designer. Create advanced pixel shaders using a node-based shader graph designer. The designer provides a full 3D preview of the visual effect at every stage and exports the result as HLSL. For more information, see Working with effects.

DirectX Graphics Debugger
The DirectX Graphics Debugger is a powerful way to debug Direct3D applications. This tool can take a snapshot of a running application, store the Direct3D calls and associated data for a single frame, and recreate the frame step-by-step. This enables you to see the intermediate contents of various buffers and devices, debug individual vertices and pixels, and see which graphics function call takes the most processing time. For more information, see Debugging DirectX Graphics.
Título: Re: Depurar shaders.
Publicado por: Gallo en 05 de Febrero de 2012, 10:58:24 PM
El esta buscando debugger para GLSL ES si no me equivoco, el de MS no le servirá por que solo es para HLSL.
Título: Re: Depurar shaders.
Publicado por: Daemon en 06 de Febrero de 2012, 09:45:56 AM
Gracias Gallo y blau.

Sí, la aplicación que estoy buscando es para depurar un shader de GLSL ES. En cualquier caso se agradece igualmente a blau el aporte :). Probaré la de gremedy que me viene de perlas pues mi estación de trabajo está en linux. Ya iré contando que tal va :).


Un saludo.
Título: Re: Depurar shaders.
Publicado por: blau en 06 de Febrero de 2012, 10:25:03 AM
Tendré que mejorar mis dotes de adivinación.. :)
Título: Re: Depurar shaders.
Publicado por: Gallo en 13 de Febrero de 2012, 03:15:45 AM
jaja blau, yo lo deduje por el otro post que puso jeje.
Título: Re: Depurar shaders.
Publicado por: TrOnTxU en 14 de Febrero de 2012, 10:08:46 PM
El gDebugger que tengo yo es como una especie de Trial de un año.
Creo que no me dejaba depurar las aplicaciones que compilaba con el "emulador" de Imagination(PowerVR).

Pero mi sdk compila con OpenGl normal (basciamente un subset y cuato extensiones) o con el ES del emulador, asi que lo utilizo solo cuando compilo con OGL "normal".

Si lo tienes en linux no te costaria mucho hacer algo parecido con el OGL/X11 supongo.

un saludo.
Título: Re: Depurar shaders.
Publicado por: Daemon en 16 de Febrero de 2012, 09:49:59 AM
Buenas a todos.

La verdad que estoy probando con WebGL y las llamadas a OpenGL ES se realizan desde un programa javascript. He encontrado un debugger que comparto por aquí y que creo que para desarrollo web 3d es bastante bueno. Se instala como un plugin en el navegador y te permite ver las llamadas a opengl, programas, buffers y shaders de una instantanea del timeline del programa principal. La única pega es que sólo esta para Chrome. Pongo por aquí el enlace:

https://github.com/downloads/benvanik/WebGL-Inspector/WebGL-Inspector-v1.7.crx

Aparte hay otra biblioteca javascript que permite ver los errores que se producen en las llamadas sobre el contexto 3d del navegador.

https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/debug/webgl-debug.js

Un ejemplo sobre como se usa esta última:

http://www.khronos.org/webgl/wiki/Debugging

Un saludo y gracias por los aportes , se aprecia vuestra ayuda. :).