diff --git a/build.gradle b/build.gradle index e96f5ab1..a6ed0c32 100644 --- a/build.gradle +++ b/build.gradle @@ -14,7 +14,7 @@ buildscript { apply plugin: 'org.jetbrains.dokka' project.ext { - openrndrVersion = "0.3.43-rc.3" + openrndrVersion = "0.3.43-rc.5" kotlinVersion = "1.3.72" spekVersion = "2.0.10" libfreenectVersion = "0.5.7-1.5.3" @@ -59,7 +59,6 @@ allprojects { repositories { - mavenCentral() jcenter() maven { url = "https://dl.bintray.com/openrndr/openrndr" @@ -174,6 +173,8 @@ task collectScreenshots { doFirst { def demoProjects = project.subprojects.findAll { it.sourceSets.hasProperty("demo") } for (sub in demoProjects) { + if (sub.name == "openrndr-demos") + continue if (sub.name == "orx-rabbit-control") continue if (sub.name == "orx-runway") diff --git a/demo-data/cubemaps/garage_iem.dds b/demo-data/cubemaps/garage_iem.dds new file mode 100644 index 00000000..b2347974 Binary files /dev/null and b/demo-data/cubemaps/garage_iem.dds differ diff --git a/openrndr-demos/build.gradle b/openrndr-demos/build.gradle new file mode 100644 index 00000000..29760956 --- /dev/null +++ b/openrndr-demos/build.gradle @@ -0,0 +1,22 @@ +sourceSets { + demo { + java { + srcDirs = ["src/demo/kotlin"] + compileClasspath += main.getCompileClasspath() + runtimeClasspath += main.getRuntimeClasspath() + } + } +} + +def boofcvVersion = "0.34" + +dependencies { + demoImplementation(project(":orx-mesh-generators")) + demoImplementation(project(":orx-camera")) + + demoImplementation("org.openrndr:openrndr-core:$openrndrVersion") + demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") + demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") + demoRuntimeOnly("org.openrndr:openrndr-gl3-natives-$openrndrOS:$openrndrVersion") + demoImplementation(sourceSets.getByName("main").output) +} \ No newline at end of file diff --git a/openrndr-demos/src/demo/kotlin/DemoCubemap01.kt b/openrndr-demos/src/demo/kotlin/DemoCubemap01.kt new file mode 100644 index 00000000..bd1d75fe --- /dev/null +++ b/openrndr-demos/src/demo/kotlin/DemoCubemap01.kt @@ -0,0 +1,27 @@ +import org.openrndr.application +import org.openrndr.draw.Cubemap +import org.openrndr.draw.DrawPrimitive +import org.openrndr.draw.Session +import org.openrndr.draw.shadeStyle +import org.openrndr.extras.camera.Orbital +import org.openrndr.extras.meshgenerators.boxMesh + +fun main() = application { + program { + + val cubemap = Cubemap.fromUrl("file:demo-data/cubemaps/garage_iem.dds", session = Session.active) + val cube = boxMesh() + extend(Orbital()) { + + } + extend { + drawer.shadeStyle = shadeStyle { + fragmentTransform = """ + x_fill = texture(p_cubemap, va_position); + """ + parameter("cubemap", cubemap) + } + drawer.vertexBuffer(cube, DrawPrimitive.TRIANGLES) + } + } +} \ No newline at end of file diff --git a/openrndr-demos/src/demo/kotlin/DemoCubemap02.kt b/openrndr-demos/src/demo/kotlin/DemoCubemap02.kt new file mode 100644 index 00000000..6c65166b --- /dev/null +++ b/openrndr-demos/src/demo/kotlin/DemoCubemap02.kt @@ -0,0 +1,27 @@ +import org.openrndr.application +import org.openrndr.draw.* +import org.openrndr.extras.camera.Orbital +import org.openrndr.extras.meshgenerators.boxMesh + +fun main() = application { + program { + val cubemap1 = Cubemap.fromUrl("file:demo-data/cubemaps/garage_iem.dds", session = Session.active) + val cube = boxMesh() + val cubemap2 = cubemap(cubemap1.width, format = cubemap1.format, type = cubemap1.type, levels = 2, session = Session.active) + cubemap1.copyTo(cubemap2, 0, 0) + cubemap2.generateMipmaps() + + extend(Orbital()) { + + } + extend { + drawer.shadeStyle = shadeStyle { + fragmentTransform = """ + x_fill = texture(p_cubemap, va_position); + """ + parameter("cubemap", cubemap2) + } + drawer.vertexBuffer(cube, DrawPrimitive.TRIANGLES) + } + } +} \ No newline at end of file diff --git a/openrndr-demos/src/demo/kotlin/DemoCubemap03.kt b/openrndr-demos/src/demo/kotlin/DemoCubemap03.kt new file mode 100644 index 00000000..79f56831 --- /dev/null +++ b/openrndr-demos/src/demo/kotlin/DemoCubemap03.kt @@ -0,0 +1,29 @@ +import org.openrndr.application +import org.openrndr.draw.* +import org.openrndr.extras.camera.Orbital +import org.openrndr.extras.meshgenerators.boxMesh + +fun main() = application { + program { + val cubemap1 = Cubemap.fromUrl("file:demo-data/cubemaps/garage_iem.dds", session = Session.active) + val cube = boxMesh() + val cubemap2 = cubemap(cubemap1.width, format = cubemap1.format, type = cubemap1.type, levels = 2, session = Session.active) + cubemap1.copyTo(cubemap2, 0, 0) + cubemap2.generateMipmaps() + + val cma = arrayCubemap(256, 10) + extend(Orbital()) { + + } + extend { + drawer.shadeStyle = shadeStyle { + fragmentTransform = """ + x_fill = texture(p_cma, vec4(va_position,0.0)); + """ + parameter("cubemap", cubemap2) + parameter("cma", cma) + } + drawer.vertexBuffer(cube, DrawPrimitive.TRIANGLES) + } + } +} \ No newline at end of file diff --git a/orx-boofcv/build.gradle b/orx-boofcv/build.gradle index 74819b97..be520ca2 100644 --- a/orx-boofcv/build.gradle +++ b/orx-boofcv/build.gradle @@ -13,7 +13,6 @@ def boofcvVersion = "0.34" dependencies { compile("org.boofcv:boofcv-core:$boofcvVersion") - demoImplementation("org.openrndr:openrndr-core:$openrndrVersion") demoImplementation("org.openrndr:openrndr-extensions:$openrndrVersion") demoRuntimeOnly("org.openrndr:openrndr-gl3:$openrndrVersion") diff --git a/orx-panel/src/main/kotlin/org/openrndr/panel/FontManager.kt b/orx-panel/src/main/kotlin/org/openrndr/panel/FontManager.kt index a04ec4ae..a750ccf7 100644 --- a/orx-panel/src/main/kotlin/org/openrndr/panel/FontManager.kt +++ b/orx-panel/src/main/kotlin/org/openrndr/panel/FontManager.kt @@ -15,7 +15,7 @@ class FontManager { fun font(cs: StyleSheet): FontImageMap { val fontUrl = resolve(cs.fontFamily) ?: "cp:fonts/Roboto-Medium.ttf" val fontSize = (cs.fontSize as? LinearDimension.PX)?.value ?: 16.0 - return FontImageMap.fromUrl(fontUrl, fontSize, contentScale) + return FontImageMap.fromUrl(fontUrl, fontSize, contentScale = contentScale) } fun register(name: String, url: String) { diff --git a/settings.gradle b/settings.gradle index 331a1c78..87aa22c4 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,6 +1,7 @@ rootProject.name = 'orx' -include 'orx-boofcv', +include 'openrndr-demos', + 'orx-boofcv', 'orx-camera', 'orx-compositor', 'orx-dnk3',