На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела "Программирование графики"
1) Данный раздел предназначен для обсуждения проблем, возникающих при программировании задач, связанных с чтением, сохранением, обработкой, созданием, отрисовкой графической информации (в том числе - 3D [OpenGL, Direct3D] и анимации [в т.ч. VFW, DirectShow, OpenDML]).
Флэш обсуждают здесь!.

2) Если вы хотите получить совет для конкретной платформы/языка программирования, обязательно укажите их в вопросе.

3) Уважаемые новички! Мы приветствуем Ваше желание научить всех посетителей раздела правильному программированию. Но огромная просьба, перед тем, как писать поучения в старых (последний ответ - "старее" месяца, а особенно, если вопрошавший не появляется на форуме уже не первый месяц, в чем можно убедиться в его профиле) темах, хорошо подумать, будет ли кому-нибудь, кроме Вас cамих, это интересно.



Ваше мнение о модераторах: user posted imageBarazuk, user posted imageOpenGL, user posted imageMikle
Модераторы: OpenGL, Mikle
  
> C-компилятор и ASM-дизассемблер , для GLSL-шейдеров
    Подскажите, есть ли какой-то наглядный "C-компилятор" + "ASM-дизассемблер" для шейдеров, написанных на GLSL?
    Т.е. надо понять, как код наподобие таких вот:
    ExpandedWrap disabled
      void main ()
      {
          vec3    p  = gl_in [0].gl_Position.xyz;
          vec3    vn = v [0];
          vec3    up = normalize ( cross ( vn, sun ) ) * size [0];
          vec3    f  = normalize ( vn + sun ) * size [0]; // bisector of v and sun
          float   w  = gl_in [0].gl_Position.w;
          
          gl_Position = vec4 ( p - up - f, w );
          EmitVertex ();
          
          gl_Position = vec4 ( p - up + f, w );
          EmitVertex ();
      ...
    переводится в 'машинный' или a'la ASM:
    ExpandedWrap disabled
      DP4 of2.x, mvp[0], f2;
      DP4 of2.y, mvp[1], f2;
      DP4 of2.z, mvp[2], f2;
      DP4 of2.w, mvp[3], f2;
       
      MOV d, 0.0;
      SUB d.xy, vertex[1].position, vertex[0].position;
      NRM d, d;
      MUL d.xy, d.yxxx, { -1, 1 };
       
      # compute new vertices
      MAD v0, d, -width, vertex[0].position;
      # original tri
      MOV result.color, vertex[0].color;
      MOV result.position, ov0;
      EMIT;


    Добавлено
    "надо понять"=="хочется увидеть"
      Раньше был Brook и Brook+, сейчас называется вот так вот:
      http://developer.amd.com/tools-and-sdks/gr...shaderanalyzer/
        Спасибо. Жаль, что уже 4 страницы гугля перерыл, но ссылку на GPUShaderAnalyzer-v1.59.0.3208.MSI найти не могу...
          Славян
          http://developer.amd.com/tools-and-sdks/gr...shaderanalyzer/
          там ссылке не подсвечиваются, но стоит нажать на имя файла "GPUShaderAnalyzer-v1.59.0.3208.MSI" то начнётся скачивание. Если не пойдёт можете сменить браузер.
          Залил к себе на диск
          http://yadi.sk/d/C7HTsXDkLtG6c
            Цитата Pavia @
            Залил к себе на диск
            Ага, Pavia, спасибо. Что-то моя Opera 12 совсем стара...
            1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0541 ]   [ 14 queries used ]   [ Generated: 18.05.24, 09:18 GMT ]