sig
  type t
  external clone : Osg.State_set.t -> Osg.State_set.t = "state_set_clone"
  external set_attribute_internal :
    Osg.State_set.t -> Osg.State_attribute.t -> int -> unit
    = "state_set_set_attribute"
  external set_attribute_and_modes_internal :
    Osg.State_set.t -> Osg.State_attribute.t -> int -> unit
    = "state_set_set_attribute_and_modes"
  external set_texture_attribute_and_modes_internal :
    Osg.State_set.t -> int -> Osg.State_attribute.t -> int -> unit
    = "state_set_set_texture_attribute_and_modes"
  external set_mode_internal : Osg.State_set.t -> int -> int -> unit
    = "state_set_set_mode"
  external add_uniform_internal :
    Osg.State_set.t -> 'Osg.Uniform.t -> int -> unit
    = "state_set_add_uniform"
  val set_attribute :
    Osg.State_set.t ->
    Osg.State_attribute.t -> Osg.State_attribute.values list -> unit
  val set_attribute_and_modes :
    Osg.State_set.t ->
    Osg.State_attribute.t -> Osg.State_attribute.values list -> unit
  val set_texture_attribute_and_modes :
    Osg.State_set.t ->
    int -> Osg.State_attribute.t -> Osg.State_attribute.values list -> unit
  val add_uniform :
    Osg.State_set.t ->
    'Osg.Uniform.t -> Osg.State_attribute.values list -> unit
  external remove_uniform : Osg.State_set.t -> 'Osg.Uniform.t -> unit
    = "state_set_remove_uniform"
  val gl_LIGHTING : int
  val gl_POLYGON_OFFSET_POINT : int
  val gl_POLYGON_OFFSET_LINE : int
  val gl_POLYGON_OFFSET_FILL : int
  val set_mode :
    Osg.State_set.t -> int -> Osg.State_attribute.values list -> unit
  external set_render_bin_details : Osg.State_set.t -> int -> string -> unit
    = "state_set_set_render_bin_details"
end