AuthorTopic: Realtime Rendering of 3d Meshes as Pixelart  (Read 128189 times)

Offline Cherno

  • 0010
  • *
  • Posts: 122
  • Karma: +0/-0
    • View Profile

Re: Realtime Rendering of 3d Meshes as Pixelart

Reply #70 on: September 28, 2015, 08:40:41 pm
The blue jet flames look kinda bad, though  :(

The last, green one would make an excellent background for a menu or credits screen. Reminds me of the Quake 2 installation screen.

« Last Edit: September 28, 2015, 08:42:44 pm by Cherno »

Offline Ai

  • 0100
  • ***
  • Posts: 1057
  • Karma: +2/-0
  • finti
    • http://pixeljoint.com/pixels/profile.asp?id=1996
    • finticemo
    • View Profile

Re: Realtime Rendering of 3d Meshes as Pixelart

Reply #71 on: September 29, 2015, 12:34:03 am
Hm. You only have 16 levels in that dither matrix, but it (approximately) repeats every 14x14 block, which ought to be 196 levels. Any particular reason you are not using a standard Bayer matrix? They are generally more or less optimal for this kind of situation (void-and-cluster matrices are considered 'higher quality' but are not at all pixel-arty).
The link I gave shows 2x2, 4x4, and 8x8 standard matrices. TBH any of them would do the job for the rendering scale you are currently using,
« Last Edit: September 29, 2015, 02:37:28 am by Ai »
If you insist on being pessimistic about your own abilities, consider also being pessimistic about the accuracy of that pessimistic judgement.

Offline Seiseki

  • 0011
  • **
  • Posts: 915
  • Karma: +1/-0
  • Starmancer
    • OminuxGames
    • http://pixeljoint.com/p/35207.htm
    • StarmancerGame
    • View Profile
    • Starmancer Patreon

Re: Realtime Rendering of 3d Meshes as Pixelart

Reply #72 on: September 29, 2015, 03:25:35 am
How would it look if you added a basic skybox?

Offline Howard Day

  • 0010
  • *
  • Posts: 222
  • Karma: +0/-0
  • Hey, I'm a doofus.
    • View Profile

Re: Realtime Rendering of 3d Meshes as Pixelart

Reply #73 on: October 01, 2015, 08:08:31 am
Okay, I updated the dithering to be a different pattern, one with more complexity. I also am moving to only support the WebGL build - I've had too many troubles with the Webplayer version, and justabout everyone uses Chrome nowadays. That said, here's a new version.
http://www.hedfiles.net/PixelShader/index.html
I added the Strife color palette, of which I'm a huge fan.



I've also adjusted the AA yet again, to be faster, reduced the rendering to a 16bit backbuffer for a speed increase. It's very hard to test mobile perf right now, because of a unity 5.2 perf bug that makes things way slower. But from the tests I've done, I should be pegging 60fps on almost all android platforms. with the bug it's between 45-50fps, and that number can vary widely with which settings are used. AA+2x+Shadows is always going to be more stressful on a GPU than NoAA+3X-Shadows.
I'm still working on a skybox - like everything else... you can't just drop straight, normal art in there - I need to write a shader that supports simple background objects. :D

Howie

Offline Gil

  • 0100
  • ***
  • Posts: 1543
  • Karma: +1/-0
  • Too square to be hip
    • http://pixeljoint.com/p/475.htm
    • View Profile
    • My Portfolio

Re: Realtime Rendering of 3d Meshes as Pixelart

Reply #74 on: October 01, 2015, 01:41:06 pm
I tried editing the gun of the mech, to see why it looks so bad right now. My semi-failed attempt looks like this:



Some observations I gained while doing this:

- I felt like I was trying to create something out of Flashback. You need to study flashback and compare to your shader.
- Not a single part of what I worked on felt like pixel art. This is not pixel art by any stretch of the imagination and I don't feel like any edits to the shader could push it into the realm of even being acceptable as such.
- The latest two versions feel like a huge step in the wrong direction. I disagree with the folks that more complex dither would benefit this. We are routinely telling new people to forget about dither, as it seldomly adds interest, and here's people trying to convince you that it needs more complex dither.

So again, I can see you pushing this to be acceptable alongside pixel assets, but I don't see how this emulates pixel art.
« Last Edit: October 01, 2015, 01:45:38 pm by Gil »

Offline Ai

  • 0100
  • ***
  • Posts: 1057
  • Karma: +2/-0
  • finti
    • http://pixeljoint.com/pixels/profile.asp?id=1996
    • finticemo
    • View Profile

Re: Realtime Rendering of 3d Meshes as Pixelart

Reply #75 on: October 01, 2015, 02:40:11 pm
There was exactly one person arguing for more complex dithering, which was Cherno.

TBH I prefer anything that doesn't produce those weirdly-clustering isolated 'bits of checkerboard' we were getting before.  Increasing dither levels to 4 (2x2 bayer matrix) or more would do that IME. No dither at all would also do that.

From the look of it, the current version uses 64 levels (8x8 bayer matrix or a relative thereof), which I agree is unrelated to pixel art (as is 4x4 bayer, more or less. 2x2 is the only dithering that has obvious aesthetic relationship to pixel art.).

So in case that's not clear in relation to what I said before: I noticed that the variables in the dither matrix (14x14, 16 levels) didn't add up with my experience of how to get reliable results from dither matrices (given an N*N matrix, the number of levels in it should ideally be either N*N or N).
« Last Edit: October 01, 2015, 02:53:12 pm by Ai »
If you insist on being pessimistic about your own abilities, consider also being pessimistic about the accuracy of that pessimistic judgement.

Offline Gil

  • 0100
  • ***
  • Posts: 1543
  • Karma: +1/-0
  • Too square to be hip
    • http://pixeljoint.com/p/475.htm
    • View Profile
    • My Portfolio

Re: Realtime Rendering of 3d Meshes as Pixelart

Reply #76 on: October 01, 2015, 03:27:52 pm
TBH I prefer anything that doesn't produce those weirdly-clustering isolated 'bits of checkerboard' we were getting before.  Increasing dither levels to 4 (2x2 bayer matrix) or more would do that IME. No dither at all would also do that.
But I specifically enjoyed those bits of checkerboard :(

I agree that the 64 levels or whatever does not really create interesting results, which is what my point is mostly.

Offline Seiseki

  • 0011
  • **
  • Posts: 915
  • Karma: +1/-0
  • Starmancer
    • OminuxGames
    • http://pixeljoint.com/p/35207.htm
    • StarmancerGame
    • View Profile
    • Starmancer Patreon

Re: Realtime Rendering of 3d Meshes as Pixelart

Reply #77 on: October 01, 2015, 03:45:26 pm
I think the selective bits of dithering made it look more hand drawn than rendered, which I think is good.
But at the same time, I think dithering in general makes it look like a 3D render saved in gif format.

Howard is doing some really impressive and new stuff here, yet I feel like the replies are starting to turn into discouragement.
We might know everything about hand drawn pixels, but doing it in a shader is something different, be patient.

@howard

I thought the shader worked something like HD index painting, where it lowers the color count and adds dithering.
Is it a custom shader for each model or is the skybox just a special case?

Offline Cherno

  • 0010
  • *
  • Posts: 122
  • Karma: +0/-0
    • View Profile

Re: Realtime Rendering of 3d Meshes as Pixelart

Reply #78 on: October 01, 2015, 05:05:48 pm
I'd like to make it clear that I would like to see the _option_ of using more complex dithering, not _only_ more complex dithering :) The more settings that are open to the user, the better.

Offline Gil

  • 0100
  • ***
  • Posts: 1543
  • Karma: +1/-0
  • Too square to be hip
    • http://pixeljoint.com/p/475.htm
    • View Profile
    • My Portfolio

Re: Realtime Rendering of 3d Meshes as Pixelart

Reply #79 on: October 01, 2015, 09:38:33 pm
Howard is doing some really impressive and new stuff here, yet I feel like the replies are starting to turn into discouragement.
Oh, I think I plainly stated before in the thread that this whole thing is HUGELY exciting to me :). I love what he's doing and I can't wait to see more.

I'm just trying to give it the old Pixelation hard-ass approach, because I feel that the higher the quality of the artist, the more important we are very critical. It's pretty obvious that Howard can handle what we throw at him :)