Greetings everbody!

        Before I dive into writing a patch against clutter-trunk to
support mipmapping of textures (for OpenGL-implementations that support
GL_ARB_texture_non_power_of_two and those that do not) I want to get
your input on API-changes that I think will be needed.

new API-calls for cogl:
        gboolean cogl_texture_is_mipmapped (CoglHandle handle)

extended API-calls for cogl: 
        CoglHandle cogl_texture_new_with_size (guint           width,
                                               guint           height,
                                               gboolean        mipmap,
                                               gint            max_waste,
                                               CoglPixelFormat internal_format)
        
        CoglHandle cogl_texture_new_from_file (const gchar     *filename,
                                               gboolean        mipmap,
                                               gint            max_waste,
                                               CoglPixelFormat internal_format,
                                               GError          **error)
        
        CoglHandle cogl_texture_new_from_data (guint           width,
                                               guint           height,
                                               gboolean        mipmap,
                                               gint            max_waste,
                                               CoglPixelFormat format,
                                               CoglPixelFormat internal_format,
                                               guint           rowstride,
                                               const guchar    *data)
        
        CoglHandle cogl_texture_new_from_foreign (GLuint          gl_handle,
                                                  GLenum          gl_target,
                                                  GLuint          width,
                                                  GLuint          height,
                                                  gboolean        mipmap,
                                                  GLuint          x_pot_waste,
                                                  GLuint          y_pot_waste,
                                                  CoglPixelFormat format)
        
new API-calls for clutter-core:
        gboolean clutter_texture_is_mipmapped (ClutterTexture *texture)

extended API-calls for clutter-core:
        ClutterActor* clutter_texture_new_from_file (const gchar *filename,
                                                     gboolean    mipmap,
                                                     GError      **error)

        ClutterActor* clutter_texture_new_from_actor (ClutterActor *actor,
                                                      gboolean     mipmap)
        
        gboolean clutter_texture_set_from_file (ClutterTexture *texture,
                                                const gchar    *filename,
                                                gboolean       mipmap
                                                GError         **error)
        
        gboolean clutter_texture_set_from_rgb_data (ClutterTexture      
*texture,
                                                    gboolean            mipmap,
                                                    const guchar        *data,
                                                    gboolean            
has_alpha,
                                                    gint                width,
                                                    gint                height,
                                                    gint                
rowstride,
                                                    gint                bpp,
                                                    ClutterTextureFlags flags,
                                                    GError              **error)

        gboolean clutter_texture_set_from_yuv_data (ClutterTexture      
*texture,
                                                    gboolean            mipmap,
                                                    const guchar        *data,
                                                    gint                width,
                                                    gint                height,
                                                    ClutterTextureFlags flags,
                                                    GError              **error)

        I'll leave work on the mipmapping for yuv-data until the end as this is
probably going to be more work than I anticipate right now.

Best regards...

Mirco

-- 
To unsubscribe send a mail to [EMAIL PROTECTED]

Reply via email to