Unfortunately, there appears to be no way to using a built-in method on iOS to extract 32 bit RGBA data from a PNG file without losing the alpha channel reference. Therefore, some people have been using libpng to extract their OpenGL textures. However, all the examples have required the png file to be loaded from a file. Assuming these textures are imported over a network connection, they would have to be saved to files from NSData and then read. What is the best way to extract raw PNG data into raw OpenGL RGBA texture data?
Extract OpenGL raw RGB(A) texture data from png data stored in NSData using libpng on iOS
719 Views Asked by Joshcodes At
1
There are 1 best solutions below
Related Questions in IOS
- Overlapping UICollectionView in storyboard
- Cannot pod spec lint because of undeclared type errors
- Is the transactionReceipt data present in dataWithContentsOfURL?
- UIWebView Screen Fitting Issue
- ZXingObjC encoding issues
- iOS: None of the valid provisioning profiles allowed the specific entitlements
- How to hide "Now playing url" in control center
- CloudKit: Preventing Duplicate Records
- Slow performance on ipad erasing image
- Swift code with multiple NSDateFormatter - optimization
- iOS 8.3 Safari crashes on input type=file
- TTTTimeIntervalFormatter always returns strings in English
- How do I add multiple in app purchases in Swift Spritekit?
- Setup code for xibs in iOS. -awakFromNb:
- iOS Voice Over only reads out the title of any alert views
Related Questions in OBJECTIVE-C
- How do I customize NSOutlineView to have border color?
- UIWebView Screen Fitting Issue
- How to hide "Now playing url" in control center
- CloudKit: Preventing Duplicate Records
- Image and Text locations in UIButton
- setting OpenGL version in objective-C
- Setup code for xibs in iOS. -awakFromNb:
- realm db, get parent link of object
- CFBundleDocumentType is not working in myproject-Info.plist file
- UIPopoverPresentationController not rendering properly
- Using Storyboard Reference
- Pass Data between two view controllers using 'Delegation' : Objective-C
- Unexpected CALayer Vertical Flipping on 3D Rotation 'Bounce'
- Setting View orientation to portrait is ignored
- UITextField append / between dates while enforcing character limit
Related Questions in OPENGL-ES
- Setting up OpenGL ES 1.1, and my android environment
- Opengl Augmented Reality in Android from solvepnp
- error 1281 for the call to glUseProgram
- Page Curl with best quality
- Qtwebengine on Embedded linux, with qtwayland and OpenGL not working, black rectangles seen on browser
- Maintaining glSurfaceView through different activities
- LibGDX - load and process texture asynchronously
- OpenGL ES 2.0 Framebuffer with render to texture iOS: nothing shown
- Generating a sphere in OpenGL without high level libraries - what's wrong with my code?
- matrix.multiply returning Nan
- Android OpenGL ES Fatal signal crash
- OpenGL / weight order independent transparency
- GLSL: How to calculate fragments output RGB value based on Photoshops curve value?
- Find a longitude given a pair of (lat,long) and an offset latitude
- How to implement dynamic page curl in android?
Related Questions in LIBPNG
- How to build libpng using gcc?
- matrix2png installation in MAC OSX and libpng-1.6.17
- Libpng vulnerability issue
- How to install Nuget on Amazon Linux
- Different results with libpng and numpy for average vector computation
- Proper way to display PNG using libpng onto a graphics buffer
- How to install libpng using yum?
- LibPNG static linking with VS2012 64bit
- OpenGL; Overlapping Alpha-Transparent Particles
- UnsatisfiedLinkError In Android 4.4 libDevil cannot locate symbol "png_set_longjmp_fn"
- Android-Security security vulnerabilities for Libpng library
- unable to import dlib in python(and restarting installation?)
- Incompatible library version: libwx_osx_cocoau_xrc-3.0.dylib requires version 48.0.0 or later, but libpng16.16.dylib provides version 38.0.0
- graphicsmagick is doubling the size of "some" PNG files
- Compile a C program with libpng on Mac OS X
Related Questions in PREMULTIPLIED-ALPHA
- How to use pre-multiplied during image convolution to solve alpha bleed problem?
- How to mask an image with MetalPetal and output with transparency
- OpenGL and Camera Preview - premultiplied alpha - blending together gets “over saturated” color
- GLSL particle's rendering (premult)
- PNG Image with BGRA CgBI premultiplied alpha
- OpenGL ES 2.0 Alpha
- How to eliminate halo on blurred edge?
- Are images in ILC_COLOR32 image lists alpha premultiplied or not? I'm getting conflicting information
- How to handle alpha in a manual "Overlay" blend operation?
- FLV premultiplied alpha channel - adding to webpage as a swf?
- Convert PNG from premultiplied-alpha to conventional alpha transparancy?
- Multiplying every pixel by its alpha Open GLES 1.1 (premultiplication) & then reverse
- PIL - Prevent premultiplied alpha channel
- Draw a texture in OpenGL while ignoring its alpha channel
- How to use the TextureTool to create a PVR with premultiplied alpha?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Ended up writing a category which solves this problem using the customization capabilities of libpng. Posted a gist here: https://gist.github.com/joshcodes/5681512
Hopefully this helps someone else who needs to know how this is done. The essential part is creating a method
and using
as a custom read method.