sig
  type t
  external create' : unit -> Osg.Texture_2d.t = "texture2d_create"
  external to_state_attribute : Osg.Texture_2d.t -> Osg.State_attribute.t
    = "texture2d_to_state_attribute"
  external to_texture : Osg.Texture_2d.t -> Osg.Texture.t
    = "texture2d_to_texture"
  external set_image : Osg.Texture_2d.t -> Osg.Image.t -> unit
    = "texture2d_set_image"
  external set_texture_size : Osg.Texture_2d.t -> int -> int -> unit
    = "texture2d_set_texture_size"
  val create_internal :
    (Osg.Texture_2d.t -> 'a) ->
    ?image:Osg.Image.t ->
    ?texture_size:int * int ->
    ?wrap:(Osg.Texture.wrap_parameter * Osg.Texture.wrap_mode) list ->
    ?filter:(Osg.Texture.filter_parameter * Osg.Texture.filter_mode) list ->
    ?internal_format:Osg.Texture.internal_format ->
    ?source_format:Osg.Texture.internal_format ->
    ?shadow_comparison:bool ->
    ?shadow_compare_func:Osg.Texture.shadow_compare_func ->
    ?shadow_texture_mode:Osg.Texture.shadow_texture_mode ->
    ?shadow_ambient:float -> ?images:(int * Osg.Image.t) list -> unit -> 'a
  val create :
    ?image:Osg.Image.t ->
    ?texture_size:int * int ->
    ?wrap:(Osg.Texture.wrap_parameter * Osg.Texture.wrap_mode) list ->
    ?filter:(Osg.Texture.filter_parameter * Osg.Texture.filter_mode) list ->
    ?internal_format:Osg.Texture.internal_format ->
    ?source_format:Osg.Texture.internal_format ->
    ?shadow_comparison:bool ->
    ?shadow_compare_func:Osg.Texture.shadow_compare_func ->
    ?shadow_texture_mode:Osg.Texture.shadow_texture_mode ->
    ?shadow_ambient:float ->
    ?images:(int * Osg.Image.t) list -> unit -> Osg.State_attribute.t
  val labl_create :
    ?image:Osg.Image.t ->
    ?texture_size:int * int ->
    ?wrap:(Osg.Texture.wrap_parameter * Osg.Texture.wrap_mode) list ->
    ?filter:(Osg.Texture.filter_parameter * Osg.Texture.filter_mode) list ->
    ?internal_format:Osg.Texture.internal_format ->
    ?source_format:Osg.Texture.internal_format ->
    ?shadow_comparison:bool ->
    ?shadow_compare_func:Osg.Texture.shadow_compare_func ->
    ?shadow_texture_mode:Osg.Texture.shadow_texture_mode ->
    ?shadow_ambient:float ->
    ?images:(int * Osg.Image.t) list -> unit -> Osg.Texture_2d.t
end