Skip to content

Enabled OpenEXR (broken). Fixed ByteUtil.#4

Open
Rbn3D wants to merge 6 commits intoVargol:masterfrom
Rbn3D:fixes
Open

Enabled OpenEXR (broken). Fixed ByteUtil.#4
Rbn3D wants to merge 6 commits intoVargol:masterfrom
Rbn3D:fixes

Conversation

@Rbn3D
Copy link

@Rbn3D Rbn3D commented Jul 31, 2016

  • Fix crash (ByteUtil)
  • Fix OpenExr (hard??)
  • Fix black (or weird) render output

@Rbn3D
Copy link
Author

Rbn3D commented Jul 31, 2016

@Vargol Sorry, I wanted to do my own PR on my fork. Feel free to delete.

@Rbn3D
Copy link
Author

Rbn3D commented Jul 31, 2016

@Vargol BTW, Do you know why always render output is black, or with black and wellow pixels? Are you able to render in your tests?

I testing in a bit more detail right now, but still no idea of what causes this bug

@Vargol
Copy link
Owner

Vargol commented Aug 19, 2016

Hi,

Sorry I've been away for a while. Yes I get renders, there's some examples on my deviant art homepage http://vargol.deviantart.com/ what scenes are you rendering ? I'd try with the julia.sc.gz scene as it is stand alone, no issues with paths.

I know opener was broken, thats way I took it out of the plugin registry. I don't think I ever got around to testing if it worked in Sunflow, probably not as the reason I started play with Sunflow.Sharp was 32 bit java being obsoleted in OSX.

looking at the code the header attribute for the channels does seem to match the spec.

I might try and get it working if I can find some time.

@Rbn3D
Copy link
Author

Rbn3D commented Aug 21, 2016

I was unable to render anything until I fixed byteUtil, also I get now some issues with paths.

Also, for lightmapping looks like I am exporting meshes badly from unity, so I cannot bake textures properly, I get black and weird textures, but this is just related to my bridge code.

Thanks for the response.

@Vargol
Copy link
Owner

Vargol commented Aug 25, 2016

I've had a look and the ByteUtil fix and it breaks KDTrees when multithreading for me.
The MSDN documents say that when ThreadStatic values are initialised when declared they are initialised once when the constructor is called.

As Bitmem is a class instance, when it is used in the KDTree it only gets initialised on the first thread and the others fail throwing a NullReferenceException.

I can vaguely remember having to deal with this when I first tried to run multi-threaded as the source code I forked wasn't thread safe, then the next fix I tried was really slow. Then I tried ThreadStatic but it crashed with NullReferenceException until I read the remark in the docs that you have to initialise on every thread.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants