0
I Use This!
Inactive

Commits : Listings

Analyzed 1 day ago. based on code collected 2 days ago.
May 19, 2023 — May 19, 2024
Commit Message Contributor Files Modified Lines Added Lines Removed Code Location Date
* fixed premake file and compilation (sadly, there is no easy way to differentiate between .c and .cpp files with premake -> sed to the rescue) * updated tccpp submodule
a2flo
as Florian Ziesche
More... about 11 years ago
* updated premake file and updated/fixed xcode project
a2flo
as Florian Ziesche
More... about 11 years ago
* updated tccpp submodule
a2flo
as Florian Ziesche
More... about 11 years ago
* added tccpp submodule and started integrating tccpp
a2flo
as Florian Ziesche
More... about 11 years ago
* updated internal kernel templates
a2flo
as Florian Ziesche
More... about 11 years ago
* merged transform_restructuring branch, as this is fully working now, although I'll do more restructering soon
a2flo
as Florian Ziesche
More... about 11 years ago
* wip: lifted some limitations on oclraster_structs (tccpp will be integrated soon) * enforce utf-8/unicode spec when converting from one to the other
a2flo
as Florian Ziesche
More... about 11 years ago
* moved creation/assembly of primitive indices to a separate kernel header file, since it's used by both the processing stage and the rasterization stage
a2flo
as Florian Ziesche
More... about 11 years ago
* implemented rendering of TRIANGLE_STRIP and TRIANGLE_FAN primitives (I'm not sure if I'll leave the kernel code like that, but it doesn't seem to affect the frame rate, probably due to all work-items taking the same branch) * moved camera_setup buffer update to an extra function, so it can be called externally when not using the provided camera functionality (the draw_state camera_setup must of course still be in a valid state!) * extended the oclr_rtt sample a little bit to test the rendering of TRIANGLE_STRIP and TRIANGLE_FAN primitives (compile-time switch to either render a rectangle, a hexagon or a flag) * removed now obsolete opengl rtt class
a2flo
as Florian Ziesche
More... about 11 years ago
* reintroducing: processing stage: * split the transform stage into two parts, the actual user programmable transform stage ("vertex shader") and the processing stage (handles primitive assembly, additional primitive transformation, culling, clipping) * the processing stage is executed after the transform stage (and prior to the binning stage) * added an additional transform buffer that stores the transformed vertices (float4*) * transformed user data is now stored per-vertex instead of per-triangle (these were duplicated before -> waste of memory; however, this now requires access to the index buffer in the rasterization stage) * the "built-in" "index" variable given to user transform programs now stores the vertex id (before: triangle id); also: "VE" is now directly called "camera_position" * user transform programs now have to return their transformed float4 vertex (instead of calling the "built-in" transform function) * vertices (and thus triangles) can be directly discarded now by calling the "discard()" function in the transform program * the pipeline draw call now also requires the vertex count * oclraster_program and derived classes can now set their kernel function name (for better identification; -> renamed transform and rasterization kernels) * the camera constant buffer is now created and managed by the pipeline class instead of the transform_stage (this way, it's accessible from all stages + it's only updated when necessary) * added a get_vertex_count function to the a2m class * updated all samples accordingly * version bump
a2flo
as Florian Ziesche
More... about 11 years ago
* added initial code to handle/draw different primitive types (for now this is still triangles-only!) * pipeline draw command range is now [first, last) (that is, inclusive first element, exclusive last element) to match general c++ and opengl style * updated all samples accordingly
a2flo
as Florian Ziesche
More... about 11 years ago
* fixed non-osx compilation (missing state. in the camera setup)
a2flo
as Florian Ziesche
More... about 11 years ago
* better handling if OCLRASTER_INTERNAL_PROGRAM_DEBUG is defined both via the command line and in global.h
a2flo
as Florian Ziesche
More... about 11 years ago
* splitted internal transform buffer (store rasterization variables V0/V1/V2/depth and triangle bounds in separate buffers -> only need to access the latter in the binning stage + sequential instead of strided copy; -> only need to access the former in the rasterization stage) * new branch where I'll restructure the transform stage to allow different kinds of primitives and actually split the transform stage into a "vertex shading" and "primitive assembly + processing" part
a2flo
as Florian Ziesche
More... about 11 years ago
* fixed the parallax mapping shader (now that the correct camera position is set, use the correct code to compute the per-pixel normal)
a2flo
as Florian Ziesche
More... about 11 years ago
* made some camera functions virtual (in case this ever needs to be extended externally) * removed camera::set_forward (disfunct/incorrect and not the right way to do this)
a2flo
as Florian Ziesche
More... about 11 years ago
* instead of letting the pipeline run/update the camera, let the user do it instead, but provide a function to set the draw_state camera_setup from a camera object (the previous approach would have updated the camera every time it would have been set in the pipeline and thus possibly mulitple times within a frame, which is highly undesirable) * fixed oclr_rtt sample shaders
a2flo
as Florian Ziesche
More... about 11 years ago
* moved camera code from oclraster to pipeline and draw_state, extended it and added some documentation (multiple framebuffers with different camera setups, and custom camera setups in general are actually possible now!) * updated all samples accordingly (oclr_rtt does what it's supposed to do now -> added+use an additional camera when drawing into the rtt framebuffer) * fixed camera position uniform update in oclr_simple * removed a lot of unnecessary/unused code from the oclraster class (+some misc cleanup) * version bump
a2flo
as Florian Ziesche
More... about 11 years ago
* updated README (build instructions)
a2flo
as Florian Ziesche
More... about 11 years ago
* removed uniform buffers from volume rendering sample, since they're not used
a2flo
as Florian Ziesche
More... about 11 years ago
* added volume rendering sample (+added c60 volume) * set bin size to 32px for now (this is apparently faster on GPUs * more screenshots
a2flo
as Florian Ziesche
More... about 11 years ago
* updated README (+testing if the repo cleanup worked)
a2flo
as Florian Ziesche
More... about 11 years ago
* updated template_transform_program.cl to match the template used internally
a2flo
as Florian Ziesche
More... about 11 years ago
* bumped gcc requirement to 4.9, since gcc/libstdc++ 4.8 still don't support certain important c++11 features ...
a2flo
as Florian Ziesche
More... about 11 years ago
* __attribute__((aligned(sizeof(cl_long16)))) -> __attribute__((aligned(128)))
a2flo
as Florian Ziesche
More... about 11 years ago
* fixed image unmapping and default framebuffer mapping in the pipeline class
a2flo
as Florian Ziesche
More... about 11 years ago
* updated README (new render-to-texture screenshot; fixed typo)
a2flo
as Florian Ziesche
More... about 11 years ago
* added framebuffer clear functionality (this will compile a kernel for each framebuffer image configuration that is used to clear a framebuffer; note: clear color/depth/stencil are part of the framebuffer object and _not_ part of the pipeline state) * removed old clear_framebuffer kernel (the clear framebuffer template is now stored internally) * extended image_support.sh to also create the framebuffer/image clear functions (oclr_framebuffer_clear.h) * added access_type parameter to all image map functions (defaults are read+write/block and read-only/block; this parameter is directly passed on the resp. opencl functions) * removed pipeline "start" function and renamed the "stop" function to "swap" (start is no longer needed, since the framebuffer is cleared in the stop/swap function) * fixed framebuffer handling in pipeline (correctly set state.framebuffer_size; removed redundant framebuffer_size variable; keep the active framebuffer when recreating the default framebuffer; make additional framebuffers actually usable) * fixed opencl create_sub_buffer (again) * added long4 and ulong4 vector4 typedefs * updated oclr_simple sample (+renamed a few files) * added wip render-to-texture sample (still need to fix the camera code, but otherwise working; +added a few new shaders)
a2flo
as Florian Ziesche
More... about 11 years ago
* updated README (new screenshots; updated software requirements)
a2flo
as Florian Ziesche
More... about 11 years ago
* implemented image::modify_backing (note that this will return false and invalidate the image if switching to image backing fails, i.e. the image format is not supported natively and buffer backing would have to be used as a fallback) * for images with buffer backing: constructing an image with a nullptr (pixels pointer) will no longer initialize the buffer with 0s (this matches image backing now + faster construction if no initialization is wanted) * fixed oclraster_program image spec handling * fixed opencl create_sub_buffer (actually return the buffer ...)
a2flo
as Florian Ziesche
More... about 11 years ago