commit 31633442aee54672e42f64bafd06bea5aba4c03b
parent bd9f46c38a1ac33ff21e527432bb270971415b59
Author: Pollux <pollux@pollux.codes>
Date: Sun, 19 Jan 2025 09:32:46 -0600
docs: clean up README.md
Signed-off-by: Pollux <pollux@pollux.codes>
Diffstat:
M | README.md | | | 34 | +++++++++++++++++++++------------- |
1 file changed, 21 insertions(+), 13 deletions(-)
diff --git a/README.md b/README.md
@@ -1,12 +1,14 @@
-# runcl - A simple OpenCL harness for rendering images
+# runcl
`runcl` is a minimal OpenCL harness allowing image generation on the GPU by
-means of executing an OpenCL file to generate the image raster data.
+means of executing an OpenCL file to compute the raster data.
-`runcl` depends on `libpng` and `libopencl`.
+`runcl` depends on `libpng` and `libOpenCL`. The former should be
+installed on most UNIX systems. Check your system's documentation for
+instructions on how to install the latter.
-`runcl` was designed to generate fractal art, a few examples of which can be
-found at <https://pollux.codes/art>.
+`runcl` was originally created to generate fractal art. A few examples of
+fractal art I created with it can be found at <https://pollux.codes/art>.
## Installation
@@ -15,23 +17,29 @@ make
sudo make install
```
+To create a debug build, run `make debug` instead of `make`.
+
## Usage
The arguments of `runcl` are mostly self-explanatory:
+
```sh
-runcl -p <platform-index> -w <image-width> -h <image-height> input-opencl-file output-png-file
+runcl \
+ -p <platform-index> \
+ -w <image-width> \
+ -h <image-height> \
+ input-opencl-file \
+ output-png-file
```
-Use `clinfo` to see platform information, by default the platform with index 0
+Use `clinfo` to see platform information. By default the platform with index 0
is chosen.
-## CL File Requirements
-
-In order for runcl to work, the OpenCL file used must meet the following
-requirements:
+## OpenCL File Requirements
-- Kernel named 'render'
-- Arguments 'const int width', 'const int height', and '__global float *out'
+In order for `runcl` to work, the OpenCL file used must have a kernel named
+`render` with three arguments, `const int width`, `const int height`, and
+`__global float *out`.
See the `example.cl` file for a demonstration of these requirements, as well as
the suggested way of using the arguments.