Sphere and plane
Info
Transfering examples from here https://github.com/lazarusA/RPRMakieNotes
#= !!!
using GLMakie, GeometryBasics
using RPRMakie, RadeonProRender
using LinearAlgebra, Colors, FileIO
# background/sky color
img = [colorant"grey90" for i in 1:1, j in 1:1]
# color as an array/image, hence a normal image also works
lights = [EnvironmentLight(1.0, img'), PointLight(Vec3f(2,0,2.0), RGBf(8.0, 6.0, 5.0))]
# custom Tesselation over an Sphere
function SphereTess(; o=Point3f(0), r=1, tess=64)
return uv_normal_mesh(Tesselation(Sphere(o, r), tess))
end
plane = Rect3f(Vec3f(-5,-2,-1.05), Vec3f(10,4,0.05))
# the actual figure
fig=Figure(; resolution=(900, 900))
ax=LScene(fig[1, 1]; show_axis=false, scenekw=(;lights=lights))
screen=RPRMakie.RPRScreen(size(ax.scene); plugin=RPR.Northstar, iterations=250)
matsys=screen.matsys
mesh!(ax, SphereTess(); color=RGB(0.082, 0.643, 0.918),
material=RPR.DiffuseMaterial(matsys))
mesh!(ax, plane; color=:gainsboro,
material=RPR.DiffuseMaterial(matsys))
GLMakie.activate!()
zoom!(ax.scene, cameracontrols(ax.scene), 0.22)
display(fig)
context, task = RPRMakie.replace_scene_rpr!(ax.scene, screen)
nothing # avoid printing stuff into the repl
imageOut = colorbuffer(screen)
# save("SpherePlaneSky.png", imageOut) # save just screen scene.
=#
Warning
This only works under windows and linux.
This page was generated using Literate.jl.