thatredox / chunkyclplugin Goto Github PK
View Code? Open in Web Editor NEWAn OpenCL raytracer for Chunky.
License: GNU General Public License v3.0
An OpenCL raytracer for Chunky.
License: GNU General Public License v3.0
The Plugin on stable does not support RTX 3060
Plugin ChunkyClPlugin.jar failed to load.
org.jocl.CLException: CL_BUILD_PROGRAM_FAILURE
Build log for device 0:
:328:61: error: passing '__generic float *' to parameter of type 'float ' changes address space of pointer
float t1 = aabbIntersectDist(origin, direction, (float)(node+1));
^~~~~~~~~~~~~~~~
:26:66: note: passing argument to parameter 'bounds' here
float aabbIntersectDist(float3 *origin, float3 *direction, float bounds[6]);
^
:330:61: error: passing '__generic float *' to parameter of type 'float ' changes address space of pointer
float t2 = aabbIntersectDist(origin, direction, (float)(node+1));
^~~~~~~~~~~~~~~~
:26:66: note: passing argument to parameter 'bounds' here
float aabbIntersectDist(float3 *origin, float3 *direction, float bounds[6]);
^at org.jocl.CL.clCompileProgram(CL.java:11994)
at chunkycl.KernelLoader.loadProgram(KernelLoader.java:38)
at chunkycl.GpuRayTracer.(GpuRayTracer.java:155)
at chunkycl.GpuRayTracer.getTracer(GpuRayTracer.java:179)
at chunkycl.AbstractOpenClRenderer.(AbstractOpenClRenderer.java:20)
at chunkycl.OpenClRenderer.(OpenClRenderer.java:17)
at chunkycl.ChunkyCl.attach(ChunkyCl.java:26)
at se.llbit.chunky.main.Chunky.lambda$loadPlugins$5(Chunky.java:269)
at se.llbit.chunky.plugin.ChunkyPlugin.load(ChunkyPlugin.java:90)
at se.llbit.chunky.main.Chunky.loadPlugins(Chunky.java:259)
at se.llbit.chunky.main.Chunky.main(Chunky.java:213)
When changing to the ClRenderer this crash appears:
Unchecked exception in render manager.
java.lang.ClassCastException: se.llbit.math.NodeBasedOctree cannot be cast to se.llbit.math.PackedOctree
at chunkycl.GpuRayTracer.load(GpuRayTracer.java:217)
at chunkycl.OpenClRenderer.render(OpenClRenderer.java:37)
at se.llbit.chunky.renderer.DefaultRenderManager.run(DefaultRenderManager.java:313)
Version of plugin - 0.2 (latest version of plugin)
Version of chunky - 2.5.0-SNAPSHOT.128.g3c8e6417 (latest version of chunky)
Unchecked exception in render manager. java.lang.NoSuchMethodError at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:564) at java.base/java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:591) at java.base/java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:672) at chunkycl.renderer.scene.ClSky.<init>(ClSky.java:67) at chunkycl.OpenClPathTracingRenderer.sceneReset(OpenClPathTracingRenderer.java:239) at se.llbit.chunky.renderer.DefaultRenderManager.run(DefaultRenderManager.java:288) Caused by: java.lang.NoSuchMethodError: 'void se.llbit.chunky.renderer.scene.Sky.getSkyColor(se.llbit.math.Ray)' at chunkycl.renderer.scene.ClSky.lambda$null$0(ClSky.java:56) at java.base/java.util.stream.ForEachOps$ForEachOp$OfInt.accept(ForEachOps.java:204) at java.base/java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:104) at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:711) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290) at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:686) at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159) at java.base/java.util.stream.ForEachOps$ForEachOp$OfInt.evaluateParallel(ForEachOps.java:188) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) at java.base/java.util.stream.IntPipeline.forEach(IntPipeline.java:463) at java.base/java.util.stream.IntPipeline$Head.forEach(IntPipeline.java:620) at chunkycl.renderer.scene.ClSky.lambda$new$1(ClSky.java:47) at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1375) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
When using the plugin the following error occurs:
Unchecked exception in render manager.
java.lang.ArrayIndexOutOfBoundsException: Index 65536 out of bounds for length 65536
at chunkycl.GpuRayTracer.generateSky(GpuRayTracer.java:549)
at chunkycl.AbstractOpenClRenderer.sceneReset(AbstractOpenClRenderer.java:38)
at se.llbit.chunky.renderer.DefaultRenderManager.run(DefaultRenderManager.java:288)
Chunky Version: 2.4.3
ClPlugin Version: 0.1
On win10 version 21H2
On AMD Ryzen 5 5600X 6-Core [email protected] GHz
On NVIDIA GEFORCE 3060
Plugin ChunkyClPlugin.jar failed to load.
org.jocl.CLException: CL_DEVICE_NOT_FOUND
at org.jocl.CL.checkResult(CL.java:825)
at org.jocl.CL.clGetDeviceIDs(CL.java:2590)
at chunkycl.GpuRayTracer.<init>(GpuRayTracer.java:99)
at chunkycl.GpuRayTracer.getTracer(GpuRayTracer.java:175)
at chunkycl.AbstractOpenClRenderer.<init>(AbstractOpenClRenderer.java:20)
at chunkycl.OpenClRenderer.<init>(OpenClRenderer.java:17)
at chunkycl.ChunkyCl.attach(ChunkyCl.java:26)
at se.llbit.chunky.main.Chunky.lambda$loadPlugins$5(Chunky.java:269)
at se.llbit.chunky.plugin.ChunkyPlugin.load(ChunkyPlugin.java:90)
at se.llbit.chunky.main.Chunky.loadPlugins(Chunky.java:259)
at se.llbit.chunky.main.Chunky.main(Chunky.java:213)
clinfo returns the following:
Number of platforms: 2
Platform Profile: FULL_PROFILE
Platform Version: OpenCL 3.0 CUDA 11.6.134
Platform Name: NVIDIA CUDA
Platform Vendor: NVIDIA Corporation
Platform Extensions: cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts cl_nv_create_buffer cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_device_uuid cl_khr_pci_bus_info cl_khr_external_semaphore cl_khr_external_memory cl_khr_external_semaphore_win32 cl_khr_external_memory_win32
Platform Profile: FULL_PROFILE
Platform Version: OpenCL 2.1 AMD-APP (3188.4)
Platform Name: AMD Accelerated Parallel Processing
Platform Vendor: Advanced Micro Devices, Inc.
Platform Extensions: cl_khr_icd cl_khr_d3d10_sharing cl_khr_d3d11_sharing cl_khr_dx9_media_sharing cl_amd_event_callback cl_amd_offline_devices
Platform Name: NVIDIA CUDA
Number of devices: 1
Device Type: CL_DEVICE_TYPE_GPU
Vendor ID: 10deh
Max compute units: 28
Max work items dimensions: 3
Max work items[0]: 1024
Max work items[1]: 1024
Max work items[2]: 64
Max work group size: 1024
Preferred vector width char: 1
Preferred vector width short: 1
Preferred vector width int: 1
Preferred vector width long: 1
Preferred vector width float: 1
Preferred vector width double: 1
Native vector width char: 1
Native vector width short: 1
Native vector width int: 1
Native vector width long: 1
Native vector width float: 1
Native vector width double: 1
Max clock frequency: 1777Mhz
Address bits: 64
Max memory allocation: 3221061632
Image support: Yes
Max number of images read arguments: 256
Max number of images write arguments: 32
Max image 2D width: 32768
Max image 2D height: 32768
Max image 3D width: 16384
Max image 3D height: 16384
Max image 3D depth: 16384
Max samplers within kernel: 32
Max size of kernel argument: 4352
Alignment (bits) of base address: 4096
Minimum alignment (bytes) for any datatype: 128
Single precision floating point capability
Denorms: Yes
Quiet NaNs: Yes
Round to nearest even: Yes
Round to zero: Yes
Round to +ve and infinity: Yes
IEEE754-2008 fused multiply-add: Yes
Cache type: Read/Write
Cache line size: 128
Cache size: 802816
Global memory size: 12884246528
Constant buffer size: 65536
Max number of constant args: 9
Local memory type: Scratchpad
Local memory size: 49152
Max pipe arguments: 0
Max pipe active reservations: 0
Max pipe packet size: 0
Max global variable size: 0
Max global variable preferred total size: 0
Max read/write image args: 0
Max on device events: 0
Queue on device max size: 0
Max on device queues: 0
Queue on device preferred size: 0
SVM capabilities:
Coarse grain buffer: Yes
Fine grain buffer: No
Fine grain system: No
Atomics: No
Preferred platform atomic alignment: 0
Preferred global atomic alignment: 0
Preferred local atomic alignment: 0
Kernel Preferred work group size multiple: 32
Error correction support: 0
Unified memory for Host and Device: 0
Profiling timer resolution: 1000
Device endianess: Little
Available: Yes
Compiler available: Yes
Execution capabilities:
Execute OpenCL kernels: Yes
Execute native function: No
Queue on Host properties:
Out-of-Order: Yes
Profiling : Yes
Queue on Device properties:
Out-of-Order: No
Profiling : No
Platform ID: 000001BE24F600A0
Name: NVIDIA GeForce RTX 3060
Vendor: NVIDIA Corporation
Device OpenCL C version: OpenCL C 1.2
Driver version: 512.59
Profile: FULL_PROFILE
Version: OpenCL 3.0 CUDA
Extensions: cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_d3d10_sharing cl_khr_d3d10_sharing cl_nv_d3d11_sharing cl_nv_copy_opts cl_nv_create_buffer cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_device_uuid cl_khr_pci_bus_info cl_khr_external_semaphore cl_khr_external_memory cl_khr_external_semaphore_win32 cl_khr_external_memory_win32
Platform Name: AMD Accelerated Parallel Processing
ERROR: clGetDeviceIDs(-1)
Chunky Version: 2.5.0-SNAPSHOT.163.g77b0efb4
ClPlugin Version: 0.2
On win10 version 21H2
On AMD Ryzen 5 5600X 6-Core [email protected] GHz
On NVIDIA GEFORCE 3060
Error occurs when changing from default render mode to ClPlugin's mode in the Advanced tab. After firing off the error chunky locks up and no longer renders a preview or any actual renders.
Unchecked exception in render manager.
java.lang.NoSuchMethodError
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:603)
at java.base/java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:678)
at java.base/java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:722)
at chunkycl.renderer.scene.ClSky.<init>(ClSky.java:67)
at chunkycl.OpenClPathTracingRenderer.sceneReset(OpenClPathTracingRenderer.java:239)
at se.llbit.chunky.renderer.DefaultRenderManager.run(DefaultRenderManager.java:288)
Caused by: java.lang.NoSuchMethodError
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:603)
at java.base/java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:678)
at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:737)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfInt.evaluateParallel(ForEachOps.java:188)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
at java.base/java.util.stream.IntPipeline.forEach(IntPipeline.java:439)
at java.base/java.util.stream.IntPipeline$Head.forEach(IntPipeline.java:596)
at chunkycl.renderer.scene.ClSky.lambda$new$1(ClSky.java:47)
at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1407)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
Caused by: java.lang.NoSuchMethodError: se.llbit.chunky.renderer.scene.Sky.getSkyColor(Lse/llbit/math/Ray;)V
at chunkycl.renderer.scene.ClSky.lambda$null$0(ClSky.java:56)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfInt.accept(ForEachOps.java:204)
at java.base/java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Streams.java:104)
at java.base/java.util.Spliterator$OfInt.forEachRemaining(Spliterator.java:699)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290)
at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)
... 5 more
Latest development build link not work
Opening the Advanced tab prior to loading chunks causes an illegal argument exception.
Unchecked exception in render manager
java.lang.IllegalArgumentException: Pointer may not point to null objects
at org.jocl.Pointer.to(Pointer.java:509)
at chunkycl.GpuRayTracer.rayTrace(GpuRayTracer.java:624)
at chunkycl.RenderManagerCl.previewRender(RenderManagerCl.java:264)
at chunkycl.RenderManagerCl.run(RenderManagerCl.java:203)
This will stop people from accidently starting the jar.
Unchecked exception in render manager.
java.lang.NoSuchMethodError
at java.base/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:67)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:483)
at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:564)
Probably can try to load and catch an UnsatisfiedLinkError
exception to check if the native OpenCL library was successfully loaded.
then I'm trying to start rendering everything as just blue or green and not showing anything
to fix it I have to disable the plugin and reload the saved file
using the latest version
GPU: 1060 6G
I don't see ChunkyCL in the Renderer list
The plugin ChunkyCl was developed for Chunky 2.4.0 but this is Chunky 2.4.1 - it may not work properly.
OpenCL Devices:
[0] NVIDIA GeForce GTX 1660
Using: NVIDIA GeForce GTX 1660
OpenCL 3.0 CUDA
2 errors generated.
Plugin ChunkyClPlugin.jar failed to load.
org.jocl.CLException: CL_BUILD_PROGRAM_FAILURE
Build log for device 0:
:328:61: error: passing '__generic float *' to parameter of type 'float ' changes address space of pointer
float t1 = aabbIntersectDist(origin, direction, (float)(node+1));
^~~~~~~~~~~~~~~~
:26:66: note: passing argument to parameter 'bounds' here
float aabbIntersectDist(float3 *origin, float3 *direction, float bounds[6]);
^
:330:61: error: passing '__generic float *' to parameter of type 'float ' changes address space of pointer
float t2 = aabbIntersectDist(origin, direction, (float)(node+1));
^~~~~~~~~~~~~~~~
:26:66: note: passing argument to parameter 'bounds' here
float aabbIntersectDist(float3 *origin, float3 *direction, float bounds[6]);
^
at org.jocl.CL.clCompileProgram(CL.java:11994)
at chunkycl.KernelLoader.loadProgram(KernelLoader.java:38)
at chunkycl.GpuRayTracer.<init>(GpuRayTracer.java:151)
at chunkycl.GpuRayTracer.getTracer(GpuRayTracer.java:175)
at chunkycl.AbstractOpenClRenderer.<init>(AbstractOpenClRenderer.java:20)
at chunkycl.OpenClRenderer.<init>(OpenClRenderer.java:17)
at chunkycl.ChunkyCl.attach(ChunkyCl.java:26)
at se.llbit.chunky.main.Chunky.lambda$loadPlugins$5(Chunky.java:269)
at se.llbit.chunky.plugin.ChunkyPlugin.load(ChunkyPlugin.java:90)
at se.llbit.chunky.main.Chunky.loadPlugins(Chunky.java:259)
at se.llbit.chunky.main.Chunky.main(Chunky.java:213)
The latest stable build download link returns a 404 error as the artifact has expired (>90 days).
The link: https://nightly.link/alexhliu/ChunkyClPlugin/workflows/stable/stable/ChunkyClPlugin.zip
Is there an updated link or download of the stable release artifact?
The latest artifact on the stable action does not load in Chunker, the option to select the CL rendered does not exist.
The latest development build does not work on Chunker 2.4.0-187-ga3af940a, it renders a white screen.
When attempting to use the plugin, the following error occurs:
Unchecked exception in render manager.
java.lang.NoSuchMethodError: se.llbit.chunky.block.Block.getTexture(I)Lse/llbit/chunky/resources/Texture;
at chunkycl.GpuRayTracer.load(GpuRayTracer.java:328)
at chunkycl.OpenClRenderer.render(OpenClRenderer.java:37)
at se.llbit.chunky.renderer.DefaultRenderManager.run(DefaultRenderManager.java:313)
This happens when the Chunky status indicator reads, "Loading Block Textures into GPU: 2 of 4"
The GpuRayTracer
initializes its skyImage
cache on creation using the default skyTextureResolution
of 128.
Once the tracer initializes the scene and calls generateSky
it loads the scene's sky resolution (which in my case was 256).
When it then tries to write into the smaller skyImage
cache we get an index out of bounds exception (https://github.com/alexhliu/ChunkyClPlugin/blob/master/src/main/java/chunkycl/GpuRayTracer.java#L549).
The solution would probably be to check if the size changed in line 526 and then create a new a array for the cache (which then could not be final).
Nightly build became unobtanium again
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.