diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d284453 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.git/ +dist-newstyle/ diff --git a/README.md b/README.md index 8b4fb6d..b0eb5b3 100644 --- a/README.md +++ b/README.md @@ -1 +1,6 @@ # wasm-raytracer + +Raytracer written in Haskell. Slow and currently only supports one static scene. +Run `cabal build && cabal exec raytracer-exe > img.ppm`. + +![Image of the output](out.png "Output") diff --git a/out.png b/out.png new file mode 100644 index 0000000..4b5be3f Binary files /dev/null and b/out.png differ diff --git a/stack.yaml b/stack.yaml deleted file mode 100644 index f2fe1c8..0000000 --- a/stack.yaml +++ /dev/null @@ -1,67 +0,0 @@ -# This file was automatically generated by 'stack init' -# -# Some commonly used options have been documented as comments in this file. -# For advanced use and comprehensive documentation of the format, please see: -# https://docs.haskellstack.org/en/stable/yaml_configuration/ - -# Resolver to choose a 'specific' stackage snapshot or a compiler version. -# A snapshot resolver dictates the compiler version and the set of packages -# to be used for project dependencies. For example: -# -# resolver: lts-3.5 -# resolver: nightly-2015-09-21 -# resolver: ghc-7.10.2 -# -# The location of a snapshot can be provided as a file or url. Stack assumes -# a snapshot provided as a file might change, whereas a url resource does not. -# -# resolver: ./custom-snapshot.yaml -# resolver: https://example.com/snapshots/2018-01-01.yaml -resolver: - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/19/15.yaml - -# User packages to be built. -# Various formats can be used as shown in the example below. -# -# packages: -# - some-directory -# - https://example.com/foo/bar/baz-0.0.2.tar.gz -# subdirs: -# - auto-update -# - wai -packages: -- . -# Dependency packages to be pulled from upstream that are not in the resolver. -# These entries can reference officially published versions as well as -# forks / in-progress versions pinned to a git hash. For example: -# -# extra-deps: -# - acme-missiles-0.3 -# - git: https://github.com/commercialhaskell/stack.git -# commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a -# -# extra-deps: [] - -# Override default flag values for local packages and extra-deps -# flags: {} - -# Extra package databases containing global packages -# extra-package-dbs: [] - -# Control whether we use the GHC we find on the path -# system-ghc: true -# -# Require a specific version of stack, using version ranges -# require-stack-version: -any # Default -# require-stack-version: ">=2.7" -# -# Override the architecture used by stack, especially useful on Windows -# arch: i386 -# arch: x86_64 -# -# Extra directories used by stack for building -# extra-include-dirs: [/path/to/dir] -# extra-lib-dirs: [/path/to/dir] -# -# Allow a newer minor version of GHC than the snapshot specifies -# compiler-check: newer-minor diff --git a/wasm-raytracer.cabal b/wasm-raytracer.cabal index 934005f..5e17968 100644 --- a/wasm-raytracer.cabal +++ b/wasm-raytracer.cabal @@ -4,15 +4,13 @@ cabal-version: 1.12 -- -- see: https://github.com/sol/hpack -name: wasm-raytracer +name: haskell-raytracer version: 0.1.0.0 description: Please see the README on GitHub at -homepage: https://github.com/githubuser/wasm-raytracer#readme -bug-reports: https://github.com/githubuser/wasm-raytracer/issues -author: Author name here -maintainer: example@example.com -copyright: 2022 Author name here -license: BSD3 +homepage: https://git.rshyn.site/rostyhn/haskell-raytracer +bug-reports: https://git.rshyn.site/rostyhn/haskell-raytracer +author: Rostyslav Hnatyshyn +copyright: N/A license-file: LICENSE build-type: Simple extra-source-files: @@ -21,15 +19,18 @@ extra-source-files: source-repository head type: git - location: https://github.com/githubuser/wasm-raytracer + location: https://git.rshyn.site/rostyhn/haskell-raytracer library exposed-modules: Hittable Maths + IOUtils + Material + Camera Ray other-modules: - Paths_wasm_raytracer + Paths_haskell_raytracer hs-source-dirs: src build-depends: @@ -40,10 +41,10 @@ library , random default-language: Haskell2010 -executable wasm-raytracer-exe +executable raytracer-exe main-is: Main.hs other-modules: - Paths_wasm_raytracer + Paths_haskell_raytracer hs-source-dirs: app ghc-options: -threaded -rtsopts -with-rtsopts=-N @@ -53,14 +54,14 @@ executable wasm-raytracer-exe , linear , mtl , random - , wasm-raytracer + , haskell-raytracer default-language: Haskell2010 -test-suite wasm-raytracer-test +test-suite raytracer-test type: exitcode-stdio-1.0 main-is: Spec.hs other-modules: - Paths_wasm_raytracer + Paths_haskell_raytracer hs-source-dirs: test ghc-options: -threaded -rtsopts -with-rtsopts=-N @@ -70,5 +71,5 @@ test-suite wasm-raytracer-test , linear , mtl , random - , wasm-raytracer + , haskell-raytracer default-language: Haskell2010