|
Boost Users : |
Subject: Re: [Boost-users] gil and OpenGL
From: Kenny Riddile (kfriddile_at_[hidden])
Date: 2010-01-11 09:53:02
mailinglist_at_[hidden] wrote:
> Thank you for your reply but I still do not understand how to cast the
> channel to the byte pointer.
>
> I will provide the snippet which is causing the performance issues.
>
> data = (unsigned char*)malloc(src_view.width()*src_view.height()*4);
> int i=0;
> for (int y=0; y < src_view.height(); y++) {
> for (int x=0; x < src_view.width(); x++) {
> data[i++] = get_color(src_view(x,y), boost::gil::red_t());
> data[i++] = get_color(src_view(x,y), boost::gil::green_t());
> data[i++] = get_color(src_view(x,y), boost::gil::blue_t());
> data[i++] = get_color(src_view(x,y), boost::gil::alpha_t());
> }
> }
>
> Later on "data" is passed to the OpenGL function which renders the textures.
>
> Unfortunately I find the gil doxygen documentation more confusing then
> helping.
>
> I hope it is clearer what I am trying to do with that image.
> In the case you have more questions shoot ahead, I am very frustrated
> because I am trying for days to solve that problem and most people seem to
> have very little knowledge of gil.
>
>
> Regards,
> Viktor
>
>
> -----Ursprüngliche Nachricht-----
> Von: boost-users-bounces_at_[hidden]
> [mailto:boost-users-bounces_at_[hidden]] Im Auftrag von Christian
> Henning
> Gesendet: Sonntag, 10. Januar 2010 19:36
> An: boost-users_at_[hidden]
> Betreff: Re: [Boost-users] gil and OpenGL
>
> Hi there, depending on the memory layout of you could just cast the
> first channel of your first pixel into a byte pointer. BTW, what do
> you mean by color information?
>
> Regards,
> Christian
>
> On Sat, Jan 9, 2010 at 9:15 PM, <mailinglist_at_[hidden]> wrote:
>> This is my first post in any mailinglist ever so i hope i am doing this
>> right.
>>
>>
>>
>> I successfully integrated the boost::gil module into my code to load some
>> images and process their content so that I can display it as a texture in
>> OpenGL.
>>
>>
>>
>> My problem right now is the massive performance issue in retrieving the
>> color information from the loaded image.
>>
>> I am looping through every row and column and retrieve the red, green,
> blue
>> and alpha color with the get_color method and push those values to a char
>> array.
>>
>>
>>
>> So I was wondering what the best approach would be to get the color
>> information from the gil image into OpenGL or at least a char array.
>>
>>
>>
>> Thanks in advance.
>>
>> _______________________________________________
>> Boost-users mailing list
>> Boost-users_at_[hidden]
>> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
I do this to load GIL images as OpenGL textures and it works fine for me:
reinterpret_cast<const char*>( interleaved_view_get_raw_data(imageView) )
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net