I figured it out, sorry for asking so fast before I even try it myself.

Basically, I convert to and from raw, and just copy the bits and pieces in the right place.  Here's part of my code, where "image" is the final one, and "char_image" is one of the smaller (I loop through all of them).

        Raw.sets (GlPix.to_raw image) ~pos:(3*(i*image_w + j + c*char_w))
             (Raw.gets (GlPix.to_raw char_image) ~pos:(3*(i * char_w + j)) ~len:3)

Best,

Orlin

On 10/22/07, Orlin Grigorov <ogrigorov@gmail.com> wrote:
Hi.  It's me again and my peculiar needs ;)

At hand is the following problem.  Let's assume that we have the following:

let image1 = GlPix.create `ubyte ~format:`rgb ~width:100 ~height:100 in
.
(* some code *)
.
let image2 = GlPix.create `ubyte ~format:`rgb ~width:100 ~height:100 in
.
(* some code *)
.
let image3 = GlPix.create `ubyte ~format:`rgb ~width:200 ~height:100 in
(* ?????????? *)

The question marks are to be filled with code, which will join image1 and image2 together (will glue them one next to the other), and the result will be stored in image3 (notice how the width is the sum of the other two widths).

Please help!