How read png from Native Extensions? (SOLVED)

For my game i need to get pixels for png. How can i do that?
I have some ideas, but i need help.

  1. Get buffer for png
local buffer = resource.load("/resources/datafile")
  1. get stream in native code. What is stream name, for custom resources?
dmBuffer::Result r = dmBuffer::GetStream(hBuffer, dmHashString64("rgb"), (void**)&buffer->stream, &size_ignored, &components, &stride);
  1. Ok i get buffer for png in memory. Now i need parse that buffer to pixels array. I think i can use lib here. For example libpng. But how to add lib to native extension.

I’m just gonna leave this here… https://www.defold.com/community/projects/76575/

3 Likes

You are awesome. :+1:
png.decode_rgba(bytes) is what i need.

3 Likes