Re: incorrect bitmap date from NSBitmapImageRep from NSDate
Re: incorrect bitmap date from NSBitmapImageRep from NSDate
- Subject: Re: incorrect bitmap date from NSBitmapImageRep from NSDate
- From: Ken Ferry <email@hidden>
- Date: Fri, 12 Mar 2010 16:00:13 -0800
Hi,
Please go down to the phrase "apps are rather fond of hardcoding bitmap
formats" in the AppKit release notes.
http://developer.apple.com/mac/library/releasenotes/cocoa/appkit.html
> If the latter I suspect that your file is not in the needed format.
Does your image have alpha?
format is bmp
The file format is bmp, but there's also a pixel format, which is the layout
of the uncompressed bytes in memory. It is necessary to convert the data to
the pixel format that you're telling GL the data is in. You said GL_BGRA,
GL_UNSIGNED_INT_8_8_8_8_REV.
The version you have involving NSImage is not safe either, it just happens
to work today.
-ken
On Fri, Mar 12, 2010 at 10:03 AM, Ariel Feinerman <email@hidden>wrote:
> 2010/3/12 Alexander Spohr <email@hidden>
>
> Exactly what does not work?
> > The loading? Or the opengl command?
> >
> >
> texture is corrupted with artifact on the screen and sometimes
>
>
> gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, [image pixelsWide], [image
> pixelsHigh], GL_RGBA, GL_UNSIGNED_INT_8_8_8_8_REV, [image bitmapData]);
>
> take an exception
>
> If the latter I suspect that your file is not in the needed format.
> > Does your image have alpha?
> >
> > format is bmp
>
> there is of the matter is that messages -initWithCIImage and
> -initWithFocusedViewRect
> read bitmap date from offscreen window so image is rendered twice, isn`t
> it?
>
> reference
>
> The image in the *ciImage* parameter must be fully rendered before the
> receiver can be initialized. If you specify an object whose rendering was
> deferred (and thus does not have any pixels available now), this method
> forces the image to be rendered immediately. Rendering the image could
> result in a performance penalty if the image has a complex rendering chain
> or accelerated rendering hardware is not available.
>
> Is the way to get NSBitmapImageRep for OpenGL without offscreen rendering
> image?
>
> atze
> >
> >
> >
> > Am 12.03.2010 um 13:09 schrieb Ariel Feinerman:
> >
> > > // not work
> > >
> > > NSData *data = [NSData dataWithContentsOfFile: filename];
> > >
> > > NSBitmapImageRep *image = [[NSBitmapImageRep alloc] initWithData:
> data];
> > >
> > >
> > > as opposed to:
> > >
> > > // works fine
> > >
> > > NSImage *source = [[NSImage alloc] initWithContentsOfFile: filename];
> > >
> > > NSSize size = [source size];
> > >
> > > [source lockFocus];
> > >
> > > NSBitmapImageRep *image = [[NSBitmapImageRep alloc]
> > initWithFocusedViewRect:
> > > NSMakeRect(0.0, 0.0, size.width, size.height)];
> > >
> > > [source unlockFocus];
> > >
> > >
> > > // OpenGL commands
> > >
> > >
> > > gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, [image pixelsWide], [image
> > > pixelsHigh], GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, [image bitmapData]);
> > >
> > > why?
> > >
> > >
> > > as opposed to
> > > _______________________________________________
> > >
> > > Cocoa-dev mailing list (email@hidden)
> > >
> > > Please do not post admin requests or moderator comments to the list.
> > > Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> > >
> > > Help/Unsubscribe/Update your Subscription:
> > >
> > > This email sent to email@hidden
> >
> >
> --
> best regards
> Ariel
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
>
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden