GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
shader_uniform(3) Arcan Lua API shader_uniform(3)

shader_uniform - Set values for a uniform values in a specific shader.

nil
shader_uniform( shid, symlbl, typestr, vals )

A shader can have a number of uniform variables declared. The specific values of such a uniform can be set through this function. shid is a reference to a shader allocated through build_shader. symlbl is the identifier of the uniform and typestr is a string that specifies the actual type of the uniform. Accepted patterns for typestr include "b" (bool), "i" (int) "f" (float), "ff" (vec2), "fff" (vec3), "ffff" (vec4), f*16 (mat4). It is also possible for one shaderid to maintain different sets of uniform values. Each group is tied to the life-cycle of the program and is allocated with shader_ugroup . The id that is returned can then be used in image_shader to specify which subgroup that is to be used.

1
There is a deprecated version of this function around that has a PERSIST or NOPERSIST value placed after typestr . This is now ignored and forced to PERSIST (keep local copies of uniforms that can survive video layer resets). This has the side-effect that the argument validation is less aggressive and may permit a mismatch of up to one argument.

function shader_uniform0()
      local shid = build_shader(nil, [[ uniform float vec3 col;
      void shader_uniform0(){
            gl_FragColor = vec4(col, 1.0);
      }]], "csh");
      a = fill_surface(128, 128, 0, 0, 0);
      show_image(a);
      image_shader(a, shid);
      shader_uniform(shid, "col", "fff", PERSIST, 0.0, 1.0, 0.0);
end

shader_ugroup(3) image_shader(3) build_shader(3)

June 2022 vidsys

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.