Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  gskgpuarithmetic.glsl   Sprache: unbekannt

 
Spracherkennung für: .glsl vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

#ifdef GSK_PREAMBLE
textures = 2;
acs_equals_ccs = false;
acs_premultiplied = true;

graphene_rect_t bounds;
graphene_rect_t first_rect;
graphene_rect_t second_rect;
float k1;
float k2;
float k3;
float k4;
float opacity;
#endif /* GSK_PREAMBLE */

#include "gskgpuarithmeticinstance.glsl"

PASS(0) vec2 _pos;
PASS_FLAT(1) Rect _bounds;
PASS_FLAT(2) Rect _first_rect;
PASS_FLAT(3) Rect _second_rect;
PASS(4) vec2 _first_coord;
PASS(5) vec2 _second_coord;
PASS_FLAT(6) float _opacity;
PASS_FLAT(7) vec4 _factors;


#ifdef GSK_VERTEX_SHADER

void
run (out vec2 pos)
{
  Rect b = rect_from_gsk (in_bounds);
  
  pos = rect_get_position (b);

  _pos = pos;
  _opacity = in_opacity;
  _bounds = b;
  _factors = vec4(in_k1, in_k2, in_k3, in_k4);

  Rect first_rect = rect_from_gsk (in_first_rect);
  _first_rect = first_rect;
  _first_coord = rect_get_coord (first_rect, pos);

  Rect second_rect = rect_from_gsk (in_second_rect);
  _second_rect = second_rect;
  _second_coord = rect_get_coord (second_rect, pos);
}

#endif

vec4
arithmetic (vec4 i1, vec4 i2, vec4 k)
{
  vec4 result = k.x * i1 * i2 + k.y * i1 + k.z * i2 + k.w;
  return clamp (result, vec4 (0.0), vec4 (min (1.0, result.a)));
}

#ifdef GSK_FRAGMENT_SHADER

void
run (out vec4 color,
     out vec2 position)
{
  vec4 first_color = texture (GSK_TEXTURE0, _first_coord);
  first_color = alt_color_from_output (first_color);
  first_color = alt_color_alpha (first_color, rect_coverage (_first_rect, _pos));

  vec4 second_color = texture (GSK_TEXTURE1, _second_coord);
  second_color = alt_color_from_output (second_color);
  second_color = alt_color_alpha (second_color, rect_coverage (_second_rect, _pos));

  color = arithmetic (first_color, second_color, _factors);

  color = output_color_from_alt (color);
  color = output_color_alpha (color, _opacity * rect_coverage (_bounds, _pos));

  position = _pos;
}

#endif

[Dauer der Verarbeitung: 0.14 Sekunden, vorverarbeitet 2026-07-02]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik