Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
CXX ?= g++
CXXFLAGS ?= -std=c++17 -O2 -Wall -Wextra
LDFLAGS ?=

SRC_DIR := src
BIN_DIR := bin

ATOM_SRC := $(SRC_DIR)/atom.cpp
REALTIME_SRC := $(SRC_DIR)/atom_realtime.cpp
RAYTRACER_SRC := $(SRC_DIR)/atom_raytracer.cpp
WAVE2D_SRC := $(SRC_DIR)/wave_atom_2d.cpp

UNAME_S := $(shell uname -s)

ifeq ($(OS),Windows_NT)
EXE := .exe
LDLIBS := -lglfw3 -lglew32 -lopengl32 -lgdi32
else ifeq ($(UNAME_S),Darwin)
EXE :=
BREW_PREFIX := $(shell command -v brew >/dev/null 2>&1 && brew --prefix)
ifneq ($(strip $(BREW_PREFIX)),)
CXXFLAGS += -I$(BREW_PREFIX)/include
LDFLAGS += -L$(BREW_PREFIX)/lib
endif
LDLIBS := -lglfw -lGLEW -framework OpenGL
else
EXE :=
LDLIBS := -lglfw -lGLEW -lGL -lGLU -ldl -lpthread -lm
endif

ATOM_BIN := $(BIN_DIR)/atom$(EXE)
REALTIME_BIN := $(BIN_DIR)/atom_realtime$(EXE)
RAYTRACER_BIN := $(BIN_DIR)/atom_raytracer$(EXE)
WAVE2D_BIN := $(BIN_DIR)/wave_atom_2d$(EXE)

.PHONY: all build atom realtime raytracer wave2d clean

all: build
build: atom realtime raytracer wave2d

$(BIN_DIR):
mkdir -p $(BIN_DIR)

atom: $(ATOM_BIN)
$(ATOM_BIN): $(ATOM_SRC) | $(BIN_DIR)
$(CXX) $(CXXFLAGS) $< -o $@ $(LDFLAGS) $(LDLIBS)

realtime: $(REALTIME_BIN)
$(REALTIME_BIN): $(REALTIME_SRC) | $(BIN_DIR)
$(CXX) $(CXXFLAGS) $< -o $@ $(LDFLAGS) $(LDLIBS)

raytracer: $(RAYTRACER_BIN)
$(RAYTRACER_BIN): $(RAYTRACER_SRC) | $(BIN_DIR)
$(CXX) $(CXXFLAGS) $< -o $@ $(LDFLAGS) $(LDLIBS)

wave2d: $(WAVE2D_BIN)
$(WAVE2D_BIN): $(WAVE2D_SRC) | $(BIN_DIR)
$(CXX) $(CXXFLAGS) $< -o $@ $(LDFLAGS) $(LDLIBS)

clean:
rm -f $(ATOM_BIN) $(REALTIME_BIN) $(RAYTRACER_BIN) $(WAVE2D_BIN)
Binary file added bin/atom
Binary file not shown.
Binary file added bin/atom_raytracer
Binary file not shown.
Binary file added bin/atom_realtime
Binary file not shown.
Binary file added bin/wave_atom_2d
Binary file not shown.
6 changes: 3 additions & 3 deletions src/atom_raytracer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -248,7 +248,7 @@ vec4 inferno2(double r, double theta, double phi, int n, int l, int m)
double t = log10(intensity + 1e-12) + 12.0;
t /= 12.0;

t = clamp(t, 0.0, 1.0);
t = glm::clamp(t, 0.0, 1.0);

// --- inferno-style ramp ---
float rC = smoothstep(0.15f, 1.0f, static_cast<float>(t));
Expand Down Expand Up @@ -376,7 +376,7 @@ struct Camera {
double lastX = 0.0, lastY = 0.0;

vec3 position() const {
float clampedElevation = clamp(elevation, 0.01f, float(M_PI) - 0.01f);
float clampedElevation = glm::clamp(elevation, 0.01f, float(M_PI) - 0.01f);
return vec3(
radius * sin(clampedElevation) * cos(azimuth),
radius * cos(clampedElevation),
Expand Down Expand Up @@ -787,4 +787,4 @@ int main () {
glfwDestroyWindow(engine.window);
glfwTerminate();
return 0;
}
}
Loading