Class: Plane

Overview

Class simulating repeating texture

Constant Summary collapse

SHADER =

Shader of the Plane sprite

"// Viewport tone (required)\nuniform vec4 tone;\n// Viewport color (required)\nuniform vec4 color;\n// Zoom configuration\nuniform vec2 zoom;\n// Origin configuration\nuniform vec2 origin;\n// Texture size configuration\nuniform vec2 textureSize;\n// Texture source\nuniform sampler2D texture;\n// Plane Texture (what's zoomed origined etc...)\nuniform sampler2D planeTexture;\n// Screen size\nuniform vec2 screenSize;\n// Gray scale transformation vector\nconst vec3 lumaF = vec3(.299, .587, .114);\n// Main process\nvoid main()\n{\n  // Coordinate on the screen in pixel\n  vec2 screenCoord = gl_TexCoord[0].xy * screenSize;\n  // Coordinaet in the texture in pixel (including zoom)\n  vec2 bmpCoord = mod(origin + screenCoord / zoom, textureSize) / textureSize;\n  vec4 frag = texture2D(planeTexture, bmpCoord);\n  // Tone&Color process\n  frag.rgb = mix(frag.rgb, color.rgb, color.a);\n  float luma = dot(frag.rgb, lumaF);\n  frag.rgb += tone.rgb;\n  frag.rgb = mix(frag.rgb, vec3(luma), tone.w);\n  frag.a *= gl_Color.a;\n  // Result\n  gl_FragColor = frag * texture2D(texture, gl_TexCoord[0].xy);\n}\n"

Instance Attribute Summary collapse

Attributes inherited from LiteRGSS::ShaderedSprite

#blendmode, #shader

Attributes inherited from LiteRGSS::Sprite

#__index__, #angle, #height, #mirror, #opacity, #src_rect, #viewport, #width, #x, #y, #z, #zoom

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Sprite

#load, #mouse_in?, #set_origin_div, #set_rect, #set_rect_div, #set_z, #simple_mouse_in?, #translate_mouse_coords, #update

Methods inherited from LiteRGSS::Sprite

new, #set_position

Methods inherited from LiteRGSS::Disposable

#dispose, #disposed?

Constructor Details

#initialize(viewport) ⇒ Plane

Create a new plane

Parameters:



784
785
# File 'docs/00000_Dependencies.rb', line 784

def initialize(viewport)
end

Instance Attribute Details

#blend_typeInteger

Return the blend type

Returns:

  • (Integer)


781
782
783
# File 'docs/00000_Dependencies.rb', line 781

def blend_type
  @blend_type
end

#colorColor

Return the color of the plane /!\ this is unlinked set() won’t change the color

Returns:



775
776
777
# File 'docs/00000_Dependencies.rb', line 775

def color
  @color
end

#textureTexture

Get the real texture

Returns:



769
770
771
# File 'docs/00000_Dependencies.rb', line 769

def texture
  @texture
end

#toneTone

Return the tone of the plane /!\ this is unlinked set() won’t change the color

Returns:



778
779
780
# File 'docs/00000_Dependencies.rb', line 778

def tone
  @tone
end

#visibleBoolean

Return the visibility of the plane

Returns:

  • (Boolean)


772
773
774
# File 'docs/00000_Dependencies.rb', line 772

def visible
  @visible
end

Class Method Details

.textureTexture

Get the generic plane texture

Returns:



854
855
# File 'docs/00000_Dependencies.rb', line 854

def texture
end

Instance Method Details

#bitmapTexture Also known as: working_texture

Get the real texture

Returns:



793
794
795
# File 'docs/00000_Dependencies.rb', line 793

def texture
  @texture
end

#oxFloat

Get the ox of the Plane

Returns:

  • (Float)


829
830
# File 'docs/00000_Dependencies.rb', line 829

def ox
end

#ox=(origin)

Set the ox of the Plane

Parameters:

  • origin (Float)


825
826
# File 'docs/00000_Dependencies.rb', line 825

def ox=(origin)
end

#oyFloat

Get the oy of the Plane

Returns:

  • (Float)


837
838
# File 'docs/00000_Dependencies.rb', line 837

def oy
end

#oy=(origin)

Set the oy of the Plane

Parameters:

  • origin (Float)


833
834
# File 'docs/00000_Dependencies.rb', line 833

def oy=(origin)
end

#set_origin(ox, oy)

Set the origin of the Plane

Parameters:

  • ox (Float)
  • oy (Float)


821
822
# File 'docs/00000_Dependencies.rb', line 821

def set_origin(ox, oy)
end

#zoom=(zoom)

Set the zoom of the Plane

Parameters:

  • zoom (Float)


800
801
# File 'docs/00000_Dependencies.rb', line 800

def zoom=(zoom)
end

#zoom_xFloat

Get the zoom_x of the Plane

Returns:

  • (Float)


808
809
# File 'docs/00000_Dependencies.rb', line 808

def zoom_x
end

#zoom_x=(zoom)

Set the zoom_x of the Plane

Parameters:

  • zoom (Float)


804
805
# File 'docs/00000_Dependencies.rb', line 804

def zoom_x=(zoom)
end

#zoom_yFloat

Get the zoom_y of the Plane

Returns:

  • (Float)


816
817
# File 'docs/00000_Dependencies.rb', line 816

def zoom_y
end

#zoom_y=(zoom)

Set the zoom_y of the Plane

Parameters:

  • zoom (Float)


812
813
# File 'docs/00000_Dependencies.rb', line 812

def zoom_y=(zoom)
end