What I did today

Adding shadow mapping via light map depth testing in my software renderer for Shard Master.
I read the wikipedia page (https://en.wikipedia.org/wiki/Shadow_mapping) to understand the concept and also watched thebennybox’s video on the concept of it (https://www.youtube.com/watch?v=EsccgeUpdsM)

There are still a ton of artifacts and the shadows are hideous but it is still a work in progress.

This is the world drawn from the light source’s point of view (ignore the player image drawn in the middle)

Did tons of work on artifact removal, light map moving, switched from perspective projected shadows to orthogonal since it’s from the sun, and added a player shadow that makes the 2D player image feel 3D

Player has shadow casted upon him by building

b91j2JMyRhY

http://cg.cs.uni-bonn.de/de/publikationen/paper-details/peters-2016-msm-applications/

While this isn’t really java related; I made a clone of the Downwell trail effect in Lua using Love2d (followed this tutorial but made some very slight modifications https://github.com/adonaac/blog/issues/9), turned out rather nice :slight_smile:

You should link were it’s from: https://github.com/adonaac/blog/issues/9

whoops forgot to add that

The results for Ludum Dare entries have been released :smiley:

I watched a great music video done by a friend of mine I really liked, so I feel like advertising:

WH6IsTjEtLQ

Now I wanted to learn how to draw. I mean, like with a pencil and stuff.
My motivation was that at some point I’ll be able to do hand-drawn more entertaining presentations in the company I work for, when there needed to be a presentation, like for trainings and such. No more power point or downloaded images anymore.
Realizing that I’d probably be better off going digital right in the beginning, I bought some drawing tablet device. Ordered yesterday and today it arrived. That was like the quickest order/delivery ever! :slight_smile:
Unpacked it, installed drivers, plugged it in, downloaded Autodesk Sketchbook Express (fantastic program so far) and began to draw.
Man… I never thought drawing was so hard! Even drawing a freakin’ circle that would not end up looking like the silhouette of some mutant lemon, or trying to close the circle where it began was pretty damn hard. But after about onehundred circles I drew, things began to look better. It’s really all practice, I thought then.
After watching a quick tutorial on how to draw cartoon eyes, these were my first attempts:

Drawing is hard —>

Lol why I don’t understand that before :wink:

  • Java say “You can’t overwrite static methods”
  • I say ok – and all my tries to fix this, create some kind of monster code

But – solution was so simple :slight_smile:


	static public void main(String[] args){
	      C_3 c3 = new C_3();
	      C_2 c2 = c3;
	      
	      System.out.println("c3_O:" + c3.call());//5
	      System.out.println("c3:" + C_3.call());//5
	      System.out.println("c2:" + C_2.call());//2
	      System.out.println("c2_O Wrong 1:" + c2.call());//2
	      System.out.println("c2_O Wrong 2:" + c2.call_Ow());//0
	      System.out.println("c2_O:" + c2.call_Ow_2());//5
	   }
	   
	   static public class C_1{
	      static public int call(){
	         return 0;
	      }
	      
	      public int call_Ow(){
	         //WRONG
	         return this.call();
	      }
	      
	      public int call_Ow_2(){
	         return call();
	      }
	   }
	   
	   static public class C_2 extends C_1{
	      static public int call(){
	         //super.call() + 2
	         //super change to extends ??
	         return C_1.call() + 2;
	      }
	              
	      @Override
	      public int call_Ow_2(){
	         return call();
	      }
	   }
	   
	   static public class C_3 extends C_2{
	      static public int call(){
	         return C_2.call() + 3;
	      }
	      
	      @Override
	      public int call_Ow_2(){
	         return call();
	      }
	   }

@Icecore

You could have also used a singleton and overridden the singleton class and its methods.

public class Core {

public static Core INSTANCE;

public int call() {
  return 0;
}

}

public class Extension extends Core {

public int call() {
  return super.call() + 2;
}

}

Core.INSTANCE = new Extension();

Why, oh why???

singleton - is one from monsters that i used before =)

why i need overwrite static methods?

  • some times you need create some singletone data using previus extend objects
    and creating empty object is not so simple because you need clear all iteratebl objects for this
    (remove all functions from empty constructor, or create new one - many useless code)

Let say you can’t hold color in instance object
example:
static Map - hold some class Data

object A - BgColor = Red
*static Map(A)
getMap(return Map(A))

object B Extend A - draw Text Color Black + also have BG from A
*static Map(B)
getMap(return Map(B))

A = Map: “Bg - Red”
B = Map: “Bg - Red, Text - Black”

up: - or i really can use singleton objects instead of Map XD
lol i agane forgot - that all static data and methods = “one singleton object” and you can manually create alternative ^^
p.s but in any case static method override problem finally solved for me after so many years

Today I made a little draggable window for my UI, with a title bar and a close button. It’s the little things.

Cas :slight_smile:

@CopyableCougar4 & @Icecore: For java 8 you can just define the signature of the method, make matching methods and pass them around.

This is what I did yesterday and also today, I got GWT-AL to successfully play an OGG file using WebAudio API.

I made it play yesterday, and now added buttons to play it.

Progress on self portrait, still very much a work in progress. I need to redo my right eye a bit and heavily refine the shading. Also haven’t finished the lips at all, they look really goofy. Giving myself some limits this time, can’t use any blending.

Today’s drawing lesson was: Drawing more simple geometry shapes and relearn writing in cursive/script to get a better feeling and develop muscle memory in the hands/wrist (at about an age of 14 I switched to writing in block letters -> bad decision). Relearning cursive is fun, though! :slight_smile:
At the end, I wanted to copy some french person :smiley: —>

This is a copy of: https://ohbriggsy.files.wordpress.com/2013/01/frenchman.jpeg
I realized I have a little problem with proportions/scale.

It’s funny, it didn’t work that way for me at all! I used to write in cursive, and at that time I drew quite (very) badly. Three or four years ago (I’m seventeen now), I switched to block letters, and my drawing almost immediately became (slightly) better! :point:

Good luck on your learning! That french guy seems quite resembling to me :slight_smile:

J0

EDIT: started page 120 of this thread, yeay!

Thank you! :slight_smile:
I have a lot to learn. Never really drew (consciously), I mean surely as a small kid, but I don’t remember.
Now I’m almost 32 and I feel that all that mathematical correctness, technicality and programming in my everyday life is becoming to waste away that creativity and it becomes exhausting.
I also play the drums in a small band and it is fun too, but you can really righfully say that drumming is also not very creative, rather mathematical.
So I want to start drawing to get away from all that a bit. :slight_smile: