rtc

module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 22, 2021 License: Apache-2.0

README

rtc

rtc is an experimental fun project of working through The Ray Tracer Challenge book by Jamis Buck, implemented in Go.

Status

This project is still experimental but completely implements the book's ray tracer in Go.

Usage

go run cmd/test-obj/main.go -xsize 1280 -ysize 1024 file.obj
go run cmd/test-yaml/main.go -xsize 1280 -ysize 1024 file.yaml

Examples

Here is the cover scene of the book as described in examples/cover/cover.yaml:

Cover


Enjoy!


License

Copyright 2021 Glenn M. Lewis. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Directories

Path Synopsis
cmd
cannon
cannon is a simple test game recommended on page 38 of the book.
cannon is a simple test game recommended on page 38 of the book.
cast-test
cast-test is the "Putting it together" section of Chapter 5.
cast-test is the "Putting it together" section of Chapter 5.
clock
clock renders the ticks on a clock face using transformations.
clock renders the ticks on a clock face using transformations.
test-obj
test-obj renders one or more Wavefront OBJ files.
test-obj renders one or more Wavefront OBJ files.
test-scene
test-scene implements the test scene in Chapter 7.
test-scene implements the test scene in Chapter 7.
test-scene2
test-scene2 implements the test scene in Chapter 7 but with planes.
test-scene2 implements the test scene in Chapter 7 but with planes.
test-scene3
test-scene3 implements the test scene in Chapter 14.
test-scene3 implements the test scene in Chapter 14.
test-workers
test-workers benchmarks the use of goroutines to render the scene from Chapter 7.
test-workers benchmarks the use of goroutines to render the scene from Chapter 7.
test-yaml
test-yaml reads a YAML scene description as demonstrated in Appendix 1.
test-yaml reads a YAML scene description as demonstrated in Appendix 1.
Package obj implements Wavefront OBJ file parsing.
Package obj implements Wavefront OBJ file parsing.
Package rtc implements the code for the Ray Tracer Challenge book.
Package rtc implements the code for the Ray Tracer Challenge book.
Package yaml provides a RTC yaml file parser as described in the book.
Package yaml provides a RTC yaml file parser as described in the book.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL