GLSL Shader Tester

Какво е това?
Това е малка програма, която съм написал, за да ми помогне да дизайн на някои от светлинни ефекти за моята physxDraw програма. Той бавно се развива в едно легло шейдър GLSL тест за Linux. Опитах Shader дизайнер в Linux, но имах някои проблеми с начина, по който се създава камерата. Също така, аз използвам тъмна тема за работния плот (подобно на стила на тези страници) и не можех да видя кода. Плюс това аз съм голям фен на Gvim за редактиране на текст или код, така или иначе, така че се избягва редактор и го използва като тест легло. Но не можех да получи около камерата въпроси, така че накрая написах моята собствена система.
Признавам, това е много примитивно App, и аз никога не сте ползвали някоя от про инструменти като FX Composer NVIDIA или AMD / ATI е RenderMonkey, тъй като те не работят на Linux. Така че аз не бях наистина се опитват да им подражават, аз бях просто пишете нещо, което работи за мен.
Тийзър изображението по-горе показва основните GUI за shaderDev. «Шейдъри» панел ви позволява да зареждате във всеки брой на темето и фрагмент шейдърите и да ги компилирате в единна програма. Тя също така ще се всяко нерезервираните единни ценности и техните стойности. Интерфейсът за определяне на стойността е доста обемист — I’ll вероятно да го преразгледаме в бъдеще. Но това е бърз и мръсна работа. Изображението показва ми на пиксел Phong Shader осветление с текстура за дифузен цвят.

Това изображение показва същата настройка, както и преди, но с помощта на фиксирани тръбопроводи, OpenGL. Забележете, колко различен е туширането! Маските на текстурата на дискретизация реакции, и ми шейдър има повече от отразяващи свойства на полирано дърво. Първоначално дизайн този шейдър за използване в physxDraw, но се оказва, че на цял екран изпълнение капки с фактор 10!
Това изображение показва осветление панел, който ви позволява да настроите всички свойства на светлините. Останалите панели са показани по-долу и ви позволяват да зададете материали, текстури и форми.

Какво трябва да се направи
ShaderDev е далеч от завършен. Има много работа за вършене. Ето някои от нещата, които се нуждаят от подобрение и някои неизпълнени функции.
Още фигури, включително и товарните отвори (вероятно OFF файлове).
Включване в панел «Фигури» някакъв начин да редактирате комплекти координира текстура.
Зареждане на връх атрибути от файла за въвеждане на шейдър.
По-добър интерфейс за определяне на стойностите на единни ценности.
Повече контрол на OpenGL състояние, като смесване на функции и дълбочина функции за изпитване.
Нуждаете се от начин да се привлече посока светлини.
<Името на любимата функция here.>
Известни бъгове:
Не може да се установи еднакви променливи, докато програмата се използва. Трябва да бъде в състояние да го направи, ако програмата е валидна.
Textures не се показват, докато стойността minification филтър се променя.
Случайни програма забива при премахване на текстури от сцената.
Икона за светлина е текстура, когато текстуриране е включена.
Опитайте го!
Код за shaderDev е на разположение тук. Вие също ще трябва мултиплатформена следните библиотеки:
FLTK. Аз използвах версия 1.1.7.
MagickWand от ImageMagick.
SCons да се строи.
OpenGL 2.0 и пресищане, разбира се.
Съм само тази на Ubuntu Linux Gutsy, но аз мисля, че трябва да работи добре на всяка друга платформа Linux.
Originally at http://www.dgp.toronto.edu/~jacky/shaderdev.html. Translated by Go Science
