profile
viewpoint
Alex iRath96 @cg-saarland Germany besonders.cool Scientist, Musician, Photographer

iRath96/electron-react-typescript-boilerplate 412

Live editing development on desktop app

iRath96/som-demo 11

A demo of self-organizing maps using React, TypeScript and three.js

iRath96/Minecraft-Overviewer 5

Render high-resolution maps of a Minecraft world with a Leaflet powered interface

iRath96/iCPro3.1 3

A CPPS based on pure magic and unicorns.

iRath96/block-rasterizer 1

Minecraft Block Rasterizer

iRath96/libguiding 1

Experimental guiding library (work in progress).

iRath96/tev 1

High dynamic range (HDR) image comparison tool for graphics people with an emphasis on OpenEXR images.

iRath96/typedoc 1

Documentation generator for TypeScript projects.

iRath96/blitzmax 0

BlitzMax

Pull request review commentPrismarineJS/prismarine-viewer

Add rotation support and other graphics fixes

 const elemFaces = { }  function renderLiquid (world, cursor, texture, type, water, attr) {+  const blockAbove = world.getBlock(cursor.plus(new Vec3(0, 1, 0)))+  const liquidHeight = (blockAbove.type === type ? 16 : 14) / 16+   for (const face in elemFaces) {     const { dir, corners } = elemFaces[face]      const neighbor = world.getBlock(cursor.plus(dir))

Fixed in 241895917ee18d646f16aa77ee224a8f425d9bc1.

iRath96

comment created time in 3 days

PullRequestReviewEvent

push eventiRath96/prismarine-viewer

Alexander Rath

commit sha 241895917ee18d646f16aa77ee224a8f425d9bc1

fix broken renderLiquid

view details

push time in 3 days

pull request commentPrismarineJS/prismarine-viewer

Add rotation support and other graphics fixes

My bad. I completely forgot that the direction vectors for culling and lighting need to be rotated as well. Now it should be working.

iRath96

comment created time in 3 days

push eventiRath96/prismarine-viewer

Alexander Rath

commit sha d953abff62f888acd8e09417faeab726bb821b27

fix culling and lighting for rotated blocks

view details

push time in 3 days

Pull request review commentPrismarineJS/prismarine-viewer

Add rotation support and other graphics fixes

 function renderLiquid (world, cursor, texture, type, water, attr) {   } } -function renderElement (world, cursor, element, doAO, attr) {+function vecadd3 (a, b) {+  if (!b) { return a }+  return a.map((v, i) => v + b[i])+}++function vecsub3 (a, b) {+  if (!b) { return a }+  return a.map((v, i) => v - b[i])+}++function matmul3 (matrix, vector) {+  if (!matrix) { return vector }++  const result = [0, 0, 0]+  for (let i = 0; i < 3; ++i) {+    for (let j = 0; j < 3; ++j) { result[i] += matrix[i][j] * vector[j] }+  }+  return result+}++function buildRotationMatrix (axis, degree) {+  const radians = degree / 180 * Math.PI+  const cos = Math.cos(radians)+  const sin = Math.sin(radians)++  const axis0 = { x: 0, y: 1, z: 2 }[axis]+  const axis1 = (axis0 + 1) % 3+  const axis2 = (axis0 + 2) % 3++  const matrix = [+    [0, 0, 0],+    [0, 0, 0],+    [0, 0, 0]+  ]++  matrix[axis0][axis0] = 1+  matrix[axis1][axis1] = cos+  matrix[axis1][axis2] = -sin+  matrix[axis2][axis1] = +sin+  matrix[axis2][axis2] = cos++  return matrix+}++function renderElement (world, cursor, element, doAO, attr, globalMatrix, globalShift, block) {   for (const face in element.faces) {     const eFace = element.faces[face]     const { dir, corners, mask1, mask2 } = elemFaces[face]      if (eFace.cullface) {       const neighbor = world.getBlock(cursor.plus(dir))-      if (!neighbor || !(neighbor.transparent || !neighbor.isCube) || neighbor.position.y < 0) continue

Thanks for letting me know. I have fixed this in d502c90a740cbad3e476896b086da71c327f5919. Apparently this was also the reason the section processing time went up, which is now back to what it was before this PR (i.e. doing the rotations on the client does not cause any noticeable overhead).

iRath96

comment created time in 3 days

PullRequestReviewEvent

push eventiRath96/prismarine-viewer

Alexander Rath

commit sha acac446ee3eaec34832b70640184654c8703ffb1

only identical blocks when they are glass

view details

Alexander Rath

commit sha d502c90a740cbad3e476896b086da71c327f5919

cull faces next to solid blocks

view details

push time in 3 days

push eventiRath96/prismarine-viewer

Alexander Rath

commit sha 40ee55431ecb24b9e10f95dd55726c948708cbfc

fix minor issue with flowing liquids being chopped

view details

push time in 4 days

push eventiRath96/prismarine-viewer

Alexander Rath

commit sha 19716063ff1d0c60448bdb9ab4ce320921f6c142

fix linting issues

view details

push time in 4 days

PR opened PrismarineJS/prismarine-viewer

Add rotation support and other graphics fixes

Hi there 👋 Thank you for this awesome repository 👍

I've worked on a branch that addresses the following issues:

  • Model rotations (fixes issue #34)
  • Handling transparent blocks better (fixes issue #33)
  • Implement multi-part block models (fixes issue #23)
  • Respects pixel device ratios (beneficial for HiDPI displays)
  • Fixed UV coordinates for blocks like hoppers
  • Liquids should be 14px instead of 16px high

Here a before… Bildschirmfoto 2020-10-16 um 00 04 58

…and after: Bildschirmfoto 2020-10-16 um 00 00 20

Face culling (issue #33) might still not be perfect, but is significantly improved. Also note that I had to move model rotation from the server to the client in order for element rotations to work correctly – for me this caused processing times to go up from 400ms to 800ms per section. If this is a concern to you then perhaps implementing a per-block-variant cache for storing vertex positions and other attributes would be an option to bring performance back to (or even improve upon) previous versions.

Please give me some feedback and let me know what needs to be changed for this to get merged. Thank you! 👏

+191 -136

0 comment

3 changed files

pr created time in 5 days

push eventiRath96/prismarine-viewer

Alexander Rath

commit sha 3b969560d76c801b7770b6bef12e4c2e711f7cd0

fix culling for hoppers

view details

push time in 5 days

push eventiRath96/prismarine-viewer

Alexander Rath

commit sha fd6f1fb80fa43ed589a2cb79e68fca872fb8936c

improve culling even further

view details

Alexander Rath

commit sha 9c47169eba60898c7d849c8a6fe4c6ce45303546

improve liquid rendering

view details

push time in 5 days

push eventiRath96/prismarine-viewer

Alexander Rath

commit sha f5b511cb0ff631e81e29af47fdde9d0e3e7af9ad

fix culling rule for identical neighboring blocks

view details

push time in 5 days

push eventiRath96/prismarine-viewer

Alexander Rath

commit sha f2c2a29db71408f69baa7dbb8dbe268304ec752b

respect device pixel ratio

view details

push time in 5 days

push eventiRath96/prismarine-viewer

Alexander Rath

commit sha d8b8bc410c404fdac3079049991dacc194566e0f

add support for multipart models

view details

push time in 5 days

push eventiRath96/prismarine-viewer

Alexander Rath

commit sha 35dde82fa06e7f451d1f1ff59b84870b4216d371

fix UVs

view details

push time in 5 days

create barnchiRath96/prismarine-viewer

branch : fix-rotations

created branch time in 5 days

startedPrismarineJS/prismarine-viewer

started time in 6 days

startedAnyDSL/impala

started time in 8 days

startedtizian/manifold-visualizer

started time in 8 days

startedMira-13/figure-gen

started time in 8 days

startedAnyDSL/artic

started time in 8 days

startedtypeorm/typeorm

started time in 14 days

startedaemkei/jsfuck

started time in 14 days

startedwhatwg/html

started time in 18 days

startedpaulccote/ExC5

started time in a month

push eventiRath96/tev

Alexander Rath

commit sha dca6646a3b90cc38a497e4d2898f5a74d628c0f4

use turbo colormap on exports

view details

push time in a month

push eventiRath96/tev

Thomas Müller

commit sha ebb35ef4e816060a970cf8bd77a0335bb1ae0589

Update nanogui to have better STBi error messages

view details

Thomas Müller

commit sha bf48b397655189a306c4ea7193ec1df0fb88dfb5

Show zoom amount in title bar

view details

Thomas Müller

commit sha 3d73c6c7808ad6fef7e611086c4a9c3b311e684e

Add command/ctrl modifier to zooming/translating (larger effect)

view details

Thomas Müller

commit sha 721f0b9d163f85cc7e03d02a41c882dfb137a01c

Merge pull request #85 from Tom94/zoom-improvements Zoom improvements

view details

Thomas Müller

commit sha a28f07eaca2951ad2ce4c12d73d241c646093be1

Gracefully handle zero-pixel images

view details

Thomas Müller

commit sha 9f6de30f7facdd49cb638a29197e82c7f4beacf6

Divide out pre-multiplied alpha of OpenEXR images

view details

Thomas Müller

commit sha eeaab0838fa0a2204ef642a3d8be3e142fa83cbd

Merge pull request #88 from Tom94/premultiplied-alpha Divide out pre-multiplied alpha of OpenEXR images

view details

Thomas Müller

commit sha 82c905fcc674a7afff7d62d59c54c6c2c1c312d8

Modularize image saving

view details

Thomas Müller

commit sha dccb5e57ad68fc18c19e1e91021bfd7a4ed08033

Merge pull request #89 from Tom94/image-savers Modularize image saving

view details

Thomas Müller

commit sha e814fae9cec00e63ecd8c125dd7854f9e9503dd8

Allow copy&pasting the current image (with tonemapping applied) Uses the open-source "clip" library under the hood

view details

Thomas Müller

commit sha 58c9c1009da445d82b60ba3ef0e803b7fd120708

Add help window entry about c&p

view details

Thomas Müller

commit sha 7f3a4d726769ee36c1a5f540a40a1795ad08de8b

Fix clip examples and tests sometimes being built

view details

Thomas Müller

commit sha 97e9c4cb75a8ad997b001086f9ca8177397e85ef

Merge pull request #90 from Tom94/image-clipboard Allow copy & pasting the current image (with tonemapping applied)

view details

Thomas Müller

commit sha 7e60e2fc86af9c0a8dc5064ba8117ae73d3f679e

Give credit to more third-party libraries

view details

Thomas Müller

commit sha 63ad2176ac488df2245cd5aec923eb44e3723bae

Bump legacy macOS release version (10.9 doesn't work with clip)

view details

Thomas Müller

commit sha 12268121cd5d0d5eed6fb9e4c52ce4a9a729ffb7

Bump tev version

view details

Thomas Müller

commit sha 418d791da324072dcb20c08279fe96860464ccbb

Bump license year

view details

Thomas Müller

commit sha c0c06a22b3c8458d066f2882219f1b603f5f33d2

Allow loading images from general i/o streams rather than just files

view details

Thomas Müller

commit sha e304da4b57d0ce698e2b1662dfa331994c10c695

Allow pasting images from the clipboard

view details

Thomas Müller

commit sha e5a081c4ef2bea660152d85ae86b77c5c00ec34f

Cleanup unnecessary includes + minor renaming

view details

push time in a month

startedrileytestut/AltStore

started time in a month

issue closediRath96/variance-aware-path-guiding

Visualizer segfaults.

Running on Ubuntu 18.04, using your code out of the box, the visualizer tool does not work:

... hooray hooray hooray hooray hooray hooray hooray hooray hooray hooray hooray hooray hooray hooray hooray hooray Loaded SD-Tree with 0 D-Trees. fish: “./visualizer” terminated by signal SIGSEGV (Address boundary error)

closed time in 3 months

s0217391

issue commentiRath96/variance-aware-path-guiding

Visualizer segfaults.

@otherpj I have just pushed a commit that should fix this issue. Please let me know if this helped.

s0217391

comment created time in 3 months

push eventiRath96/variance-aware-path-guiding

Alexander Rath

commit sha 3c094f47981dc6007ab078e78c4ba7215e2d69b3

visualizer: also display nodes with few samples

view details

push time in 3 months

push eventiRath96/variance-aware-path-guiding

Alexander Rath

commit sha 3a1c54ef24ac41be9980b55cd523d92ded8ae6e3

visualizer: get rid of debug message

view details

push time in 3 months

issue commentiRath96/variance-aware-path-guiding

Visualizer segfaults.

Hi, thank you for posting this issue. This typically only happens when you try to open an SD tree that contains no information -- for instance, when you open the SD tree generated during the final iteration (i.e. the one with the highest number following the scene name). Please let me know if this is the case here or if this affects an earlier SD tree.

s0217391

comment created time in 3 months

issue commentiRath96/variance-aware-path-guiding

Performance comparison with Muller's PPG

Hi,

just for clarification: this repository contains both Müller's guiding target function (distribution = "radiance") and the one proposed in our paper (distribution = "full").

Our evaluation uses the following parameters:

parameter value
nee always (note that when disabling NEE, our distribution takes longer to improve over radiance-based distributions, as we have discussed in our supplemental document)
sampleCombination discard
spatialFilter box (takes a bit longer to train, but creates less noise in the guiding caches)
directionalFilter box (as recommended by Müller et al.)
distribution full (when setting this to radiance, this implementation is equivalent to Müller's PPG)
diStrategy no
bsdfSamplingFractionLoss none (the Adam optimizer can produce artifacts in some scenes for both methods)
sTreeThreshold 2000 (Müller recommends 4000, but lower values accelerate learning both for PPG and our distribution)
dTreeThreshold 0.005 (Müller recommends 0.01, but this again improves results significantly for both methods)
sppPerPass 1

Hope this helps. Let me know if you need additional information.

ShilinC

comment created time in 3 months

push eventiRath96/libguiding

Ömercan Yazici

commit sha 7473269b9e4ce6c6ea92eac2a8db472e3e480e3f

Added "inline" to allow multiple includes of "guiding.h"

view details

Ömercan Yazici

commit sha 6d6c4c0e65fa4c6ab56d70b83c1886c3b7ba1cc1

double fix

view details

Alex

commit sha 5ebede08201067f8e3ae52a55be3b5f574e720a0

Merge pull request #1 from PearCoding/master Added "inline" to allow multiple includes of "guiding.h"

view details

push time in 3 months

PR merged iRath96/libguiding

Added "inline" to allow multiple includes of "guiding.h"

Add inline to Float random() to allow multiple includes without linking errors. The template functions are already implicit inline.

+2 -2

0 comment

1 changed file

PearCoding

pr closed time in 3 months

more