« first day (1202 days earlier)      last day (4115 days later) » 

23:00
he uses magic duh
from the tears of dwarfs
How difficult is 3D w/ OpenGL?
I haven't actually researched how to do multiple point lights yet. I've just been thinking it over myself based on what I know.
I'm using deferred and I draw each light on a separate light texture (just one, that is) and apply that on the rendered scene
@hasherr getting a triangle on the screen? not bad at all. making a full out game? much worse.
@hasherr what library ?
23:01
let me take a debugging drawing screenshot
OpenTK, let's say.
id say finish your 2D project first xD
OpenTK is basically OpenGL plus a math library and a few conveniences.
Just wondering.
@IcyDefiance For C# as well, right?
well it also has OpenCL and OpenAL, but I haven't touched them yet
right
23:02
@hasherr fully wrap your head around more game development ideas and work on making some awesome 2d games before starting on 3d
the rightmost is the specular light component I believe
3D stuff is extremely heavy in vector and matrix maths, especially if you're not using a real high level library.
you have much to learn, padawan
@Lasse ooh okay, I get the general idea. no idea how to go about it, but that I can research on my own.
23:04
thanks
My math teacher at school told me she could tutor me on some more extensive subjects.
If I needed it.
nice
as a tutor, I highly recommend taking her up on that. as a normal person, though, meeeeh just be lazy.
@IcyDefiance that uses multiple render targets in a render buffer, and geometry gets rendered on it, and then there is the light pass that writes the diffuse and specular components in separate render targets as well, and then the final pass combines them
the light pass uses the generated normal texture and generated depth texture (which is packed in rgb, I did not get the 32bit float approach to work)
the fourth one is just for debugging purposes at the moment, I am planning to put illuminating textures in that one
hmm...I get everything you're saying, but something isn't clicking
first one is the texture, right?
second is normals?
yes it's just the texture nothing else
yeps
23:08
the third...no idea
it's the depth map put thru a float -> rgb converter
vec4 pack_depth(const in float depth)
{
    const vec4 bit_shift = vec4(256.0*256.0*256.0, 256.0*256.0, 256.0, 1.0);
    const vec4 bit_mask  = vec4(0.0, 1.0/256.0, 1.0/256.0, 1.0/256.0);
    vec4 res = fract(depth * bit_shift);
    res -= res.xxyz * bit_mask;
    return res;
}
then it's converted back like this:
float unpack_depth(const in vec4 rgba_depth)
{
    const vec4 bit_shift = vec4(1.0/(256.0*256.0*256.0), 1.0/(256.0*256.0), 1.0/256.0, 1.0);
    float depth = dot(rgba_depth, bit_shift);
    return depth;
}
I use this because I did not get the 32bit float buffer to work, so I just had to go with rgba buffer
okay that one I'll have to work out when I try implementing it. eventually.
Does OpenTK have a Vector2 class?
@hasherr yep
yes it has
23:10
Vector3?
yep
Vector4?
it even has vector4
Vector5?
23:10
nope
what do you think?
I don't think...
Dissapointing...
I expected much more.
don't you think 4d-space is enough?
0/10, failed framework.
@Lasse I don't understand how 4D space can be used in games.
23:11
:D
that was a joke
actually 4D is a necessity
the fourth component of the vec4 is mostly used to determine if the vector is a point in space (w = 1) or a direction (w = 0)
Oh, really...
That makes sense actually.
and transformations usually rely on the 4th dimension
and then it is used to contain the perspective stuff
23:12
So would Vector (1, 2, 3, -1) technically be antimatter?
I've seen 4d games that rely on shifting geometry from one form to another.
Dumb question, of course.
@hasherr considering how it would blow up whatever it came into contact with...yeah, pretty much
Antichamber was originally designed for a game jam where the concept was 4D.
I always wanted to play Antichamber
23:13
It's a fun game. I met the guy who made it, Alexander Bruce, at E3.
Back then it was called Hazard: A Journey of Life.
Bit of a mouthful.
Interesting guy?
if you get a point from screen coordinates converted back to view coordinates you have to reverse the perspective by doing 4dvec = 4dvec / 4dvec.w
Really cool. Former art student, decided making a game his own way would be better.
Cool.
Taught himself the mathematics behind it, and how to program and build a game with Unreal Engine.
23:14
I can't really even comprehend 4D, but then again, I really don't know much about 3D either. I'm still reading that book Vaughan gave me though.
@hasherr well in the context of games, the 4th dimension isn't really time
@IcyDefiance It's not?
well time is just not in the vector
you can think of it as just a requirement to make transformations work properly
it is otherwise present
23:16
Oh ok.
For instance, I can't understand this gif.
the w component represents just another direction, which you don't actually have to understand as a direction
nvm, I'll just upload it.
Please give me your feedbac, Windows computers only:
http://timtechsoftware.com/wp-content/uploads/2012/09/Arrethtrae0200.zip
for example, a translation matrix looks like so:
1 0 0 x
0 1 0 y
0 0 1 z
0 0 0 1

and it only works when the 4th dimension of the vector you're multiplying with is 1
23:17
a tesseract
Cool
Can you guys understand that?
Yes
It's 4D
sort of yes, I don't see how that is representing the 4d object, since the object can move in many more directions in the 4th dimension
23:18
something about that is so off.
I can kind of understand it, because one of my profs gave an incredible explanation. I can try repeating it if you want.
it's not actually 4D - just a representation of the mathematical concept of 4D
heck it's not even a representation of a 4D object. that's impossible.
It's not even 3D
yeah it's 2D
well, technically, yeah, but it does represent a 3D object
It's impossible to represent something one dimensional as a picture, correct?
23:19
it's projected on 2D surface and it looks like 3D because of that
@Timtech a line would work
kind of
Nope :)
and then 4d objects need to be projected on 3d surface, which then again need to be projected on 2d surface, and that is the end result sort of
But that's what it's supposed to represent
YEAAAA
anyway, as far as 4D goes, think of it this way:
0D is a point, right?
23:20
Like points are 0D
Yea
to get to 1D, you extend that point into a line
to get 2D you extend the line to the side, and get a square
to get 3D you extend the square to the side and get a cube
23:21
xD
to get 4D you literally extend the cube to the side and get a tesseract
that's what the gif is supposed to represent
:/
I'm unfamiliar with tesseracts?
Woah.
:P
What?
no, you can't imagine it. you can't draw it either. the tesseract just represents the concept.
23:21
The tesserect above is a 2d projection of a 3d object which is a shadow of a 4d object rotating
I saw a a video about the 10th dimension. The best way the guy could describe it was that it was a line going through a universe, and all universes extend on that one line.
yeah that's the last video of that video series I believe
@hasherr no I believe that was the 7th dimension
23:23
might be that too yeah
@Lasse that video is filled with so much pseudoscience
7th dimension = possibility clouds.
physics.stackexchange.com/questions/391/… antimatter is not going backwards in time
@AttackingHobo he's just talking to general people
@Lasse much of it is wrong though. Some interesting and good ideas
23:24
7th dimension was all variations of a single property of the universes, like different gravitational constants. 8th dimensions was different properties being varied. 9th was all universes condensed into a single point. then he didn't really explain the 10th.
at least that's what I remember
And while its impossible to deal with 4 spacial dimentions in a 3d universe, its possible to work with systems that have n Dimensions
right. and really the word "dimension" is a far more versatile word than people know.
for example, X and Y coords are 2 dimensions, right?
but so are angle and radius.
Yep
And Z is the 3rd dimension
23:26
And its easy to make a 4d array as well
angle and radius represent 2D coordinates that, because of how we define angle and radius, when mapped to X and Y take the shape of a circle.
That's right
and this is what I meant earlier when I said that the 4th dimension in a 4D vector is not time.
it's W, which I believe stands for "whatever" <- joke right there
it's duration :)
:P
not that either
23:28
No
W should only be 0 or 1. 0 represents a direction, while 1 is a position...I think. hope I didn't get that mixed up.
What is 4d then :S
Nope, icy is talking about 4 spacial dimensions, which a tesserect is showing.
oh sorry I kind of jumped back a few subjects, before the tesseract
trying to relate it all back to games
Math is possible to do on 4d objects, just kind of hard to show whats happening
23:30
ok
@IcyDefiance btw (this just popped in my mind) if you want not to use deferred, then you need to find out which light hits which object and draw only them, one light at a time and combine the result
yeah that sounds way too slow
that's how forward rendering works
Icy, Yup. Forward rendering gets very slow with lots of lights. Defered doesnt give a shit
that includes a whole lot of culling
to make it bearable fps
23:34
okay I got an example typed up for why this whole 4D thing is important in 3D graphics
take this matrix:
1 0 0 5
0 1 0 0
0 0 1 0
0 0 0 1
this is a translation matrix, meant to move a vector 5 units along the X axis
now, depending on whether the 4th dimension of the vector is 0 or 1, you get entirely different results
1 0 0 5     0     5
0 1 0 0     0     0
0 0 1 0  *  0  =  0
0 0 0 1     1     1

1 0 0 5     0     0
0 1 0 0     0     0
0 0 1 0  *  0  =  0
0 0 0 1     0     0
if the 4th dimension is 0, it does...absolutely nothing
ive turned up in a nerd moment
if the 4th dimension is 1, it works perfectly
@Dave yes
Jon
Jon
if you multiply by 0, what do you expect.
@Dave Too true :)
23:36
well yeah, pretty much
user4704
w = 0 is often used to mean (x, y, z, w) is a vector whereas w = 1 is often used to mean it's a point.
not exactly clear without typing it out, though
user4704
But that is a useful aside.
you might get more detailed info as a question on the SE
user4704
There's a question for this already.
23:37
oh
so if x moves 1 over then its {(0,0,0,0),(1,0,0,1)} right?
user4704
4x4 matrices are used mainly because it allows us to usefully combine translation and rotation into a single matrix.
user4704
(and scale, but nobody cares about scale)
@Timtech I'm not sure what you mean
So the w is the time it moves
23:38
and then there's quaternions
and in the second set, the x is += 1
@Timtech actually...if you set W to 2, then it moves twice as far, so yeah you're kind of right.
Yeah
23:39
:D
I might be understanding this now
user4704
What we do 3D graphics transformations is not, per "4D."
user4704
Rather it is a homogenous coordinate system.
ah you guys do this for fun ! :| lol
2D gives me headache as it is
user4704
You can normalize a homogenous coordinate back by dividing out by w.
I didn't know the origin is 0,0,1
Interesting
user4704
23:40
The origin is not 0,0,1.
@Dave That's aka a coordinate plane with lines or points graphed on it
Yeah it is
yeah Josh, I think you know more about this than I do XD
"Note that the triple (0, 0, 0) is omitted and does not represent any point. The origin is represented by (0, 0, 1)"
In mathematics, homogeneous coordinates or projective coordinates, introduced by August Ferdinand Möbius in his 1827 work Der barycentrische Calcül, are a system of coordinates used in projective geometry, as Cartesian coordinates are used in Euclidean geometry. They have the advantage that the coordinates of points, including points at infinity, can be represented using finite coordinates. Formulas involving homogeneous coordinates are often simpler and more symmetric than their Cartesian counterparts. Homogeneous coordinates have a range of applications, including computer graphics and ...
I haven't actually heard the terms homogeneous or heterogeneous before.
user4704
It is represented by
23:41
OOH
:)
user4704
@IcyDefiance I used "heterogeneous" up there when I meant "homogenous."
Yeah I noticed
user4704
:D
@JoshPetrie i thought you meant that because i had to google heterogeneous
user4704
"Homogenous" means "all the same," "heterogeneous" is the opposite.
user4704
23:45
The coordinate system is homogenous because all points with a given W are the same because they can be projected back to regular space by dividing out W.
user4704
Homogenous coordinate systems, in addition to working conveniently with our desire to use 4x4 matrices so we can encode all transformations, make working in clip space much easier.
user4704
In such a space, the normally non-parallel planes of the view frustum are transformed such that they are parallel, and clipping against them becomes massively easier because most of the inequalities simplify out.
This is past Trigonometry? :}
actually I find trig to be harder XD
why do people make apps only for iOS
is there something about Android that puts developers off :S
user4704
23:49
@Timtech Yes.
Good :P
user4704
This is linear algebra.
well, there's a much larger range of android devices to support
Is that past calculus?
user4704
@Dave It's ugly and diverse.
23:50
different screen sizes, different hardware...
user4704
@Timtech Usually.
user4704
It can be concurrent with about the calculus 3 level.
@IcyDefiance ah good point
also Apple has a better name among the less technologically literate
Calculus 3 > AP Calculus?
23:51
@IcyDefiance Are you sure? I could've sworn it was the 10th.
@IcyDefiance that's just matter of including different resolution resources, or just use vector graphics
user4704
@Timtech AP calculus is a high school prep subject for, like, Calc 1.
Ohhh
:S
user4704
I have never seen linear taught in high schools.
You're talking college :)
23:52
@Lasse true. it just forces people to actually take these measures, instead of statically positioning everything.
There is also an ios bubble around big cities with lots of programmers.
Gtg, prolly bbl. Cya
@IcyDefiance that reminded me of good old 90's internet
we don't talk about 90's internet anymore.
N64's were awesome. Internet...not so much.
actually my Wii is softmodded just so I can play N64 games with a GC controller. it's great.
i miss the dial up modem sound
23:55
'Wii'
lol
well that and all my games are on an external hard drive so I don't have to keep track of discs.
@hasherr okay, not actually my Wii. it's my brother's. I'm just the only one to use it for more than Wii Sports and Wii Play.
I tried to get him to buy a PS3, but nooo, gotta follow the hype train
@hasherr have you ever heard that sound?
that's the sound of our youth
wii was a hype?
23:57
motion controls, man
it's the future!
this was before MS and Sony tried to copy them and steal some of the hype
arcade games probably had them before nintendo
unless they were made by nintendo :P
I've got a wii too
i know sony are aiming to rival the oculus rift
eh, kind of. I don't visit arcades often, but the ones I did see had pretty horrible sensitivity
which im excited for because Sony do make good TV screens
nor i but i used to go arcades in my youth xD
23:58
But I got fed up with it, as it's a console and they get old and you can't upgrade them like PC
@Lasse I remember the sound, at least parts of it.
@Lasse yeah that's about right
I still take it out once in a while when friends are over, to play super smash bros.
metroid prime trilogy was great too
that's about it
oh, and skyward sword was okay

« first day (1202 days earlier)      last day (4115 days later) »