Montag, 30. April 2012
updates:
- shader pipeline ~ 70% done
the focus on this implementation is, to reach an highly flexible shader workflow. currently i dont had an smart automatic way, to work with shaders. thats why. it makes more sense to work on an system which allows shader changes on the fly and stuff.
so you going to create your shader file. eg: blinnSHADER.shd and the pipeline now converts your shader into an *.gfx and complies it.
the similar things will happen with -> models, textures, audio, metafiles, ...
oh, i did an new dummy logo (LSD), i do think this is going into the right direction.
stay tuned...
greetz
dirk
Mittwoch, 25. April 2012
if something was controlling a game, then this song
http://www.youtube.com/watch?v=AhzhiQA6-Aw
i think id played enough - now the smooth time will come ;)
and im sure i will step now alot of peoples onto their feets, so im going to say sorry infront :D
i think id played enough - now the smooth time will come ;)
and im sure i will step now alot of peoples onto their feets, so im going to say sorry infront :D
ouch, i was quiet lazy the last days... :D
there so many stuff which needs to be done. maybe the choice which step i should do as next holds me a bit off. example the page needs to improved, the LSD logo reminds me too much on things id done nearly 20 years ago. and so on. but anyhow... stay tuned.
greetz
dirk
there so many stuff which needs to be done. maybe the choice which step i should do as next holds me a bit off. example the page needs to improved, the LSD logo reminds me too much on things id done nearly 20 years ago. and so on. but anyhow... stay tuned.
greetz
dirk
Montag, 23. April 2012
i started with an tiny voxelization process, which allows either to use animated models.
voxelization algorithmus either for animated models on gpu 2012 dirk hochegger
highly easy!
1. slice the models in liked amount of slices
2. get the close point (center of the bound of your slice)
3. check for any anomalies at your faces. example: the huge faces and so on
of course you are in need of the polygon model while you doing the voxelization which costs a bit of performance. so you flood all the time on the fly, your model with voxels and thats the good thing ;) so you are able to handle either animated models with that procedere.
stay tuned...
greetz
dirk
my next steps will be:
- bringing the engine onto a solid state
- metameshes (for melting models together and so on)
- joint matrices animated models
- and starting to develop on the fucking crazy manic shooter i do have in mind. ;) and it will be a kickass game, as long it comes to 30% close to my imagination it will be ;) :D
voxelization algorithmus either for animated models on gpu 2012 dirk hochegger
highly easy!
1. slice the models in liked amount of slices
2. get the close point (center of the bound of your slice)
3. check for any anomalies at your faces. example: the huge faces and so on
of course you are in need of the polygon model while you doing the voxelization which costs a bit of performance. so you flood all the time on the fly, your model with voxels and thats the good thing ;) so you are able to handle either animated models with that procedere.
stay tuned...
greetz
dirk
my next steps will be:
- bringing the engine onto a solid state
- metameshes (for melting models together and so on)
- joint matrices animated models
- and starting to develop on the fucking crazy manic shooter i do have in mind. ;) and it will be a kickass game, as long it comes to 30% close to my imagination it will be ;) :D
Montag, 16. April 2012
Samstag, 14. April 2012
here at my old public relation work on cgforum.at you are able to get the first impression about an old game idea of mine( http://cgforum.at/forum/thread.php?threadid=3865&threadview=0&hilight=&hilightuser=0&page=7 ). the game is called E-LITE. this will be the next project after an community project, where some friends of mine and me working on and my solo project "CIRCLE of DEAD", so maybe in about 1 or 2 years im going to start on this one.
E-LITE becomes a sci-fi riddle solving game. with an huge, freaky and highly serious story on its back!
stay tuned..
greetz
dirk
E-LITE becomes a sci-fi riddle solving game. with an huge, freaky and highly serious story on its back!
stay tuned..
greetz
dirk
Freitag, 13. April 2012
hot fixes:
- rendertree
my main focus is on speed - the performance point is typed in with bold letters. :D
the first serious release is coming soon. before im going to release it, ive to type a short documentation and doing some demo samples. and ive to think about the licence type, of course its an open source project. but if im listening to my stomache, ive to make a bit of money with. but maybe it could work to use an donation system.
im going to include a developer forum on the page which i will offer soon. where you are able to ask for help or/and any tips for your current project. in all cases im trying to support you, if its about coding till graphics, you can ask me anything you want to know.
the current state:
http://www.aries-lenov.com/projekte/webgl/dev/page/LSD.php
stay tuned...
greetz
dirk
- rendertree
my main focus is on speed - the performance point is typed in with bold letters. :D
the first serious release is coming soon. before im going to release it, ive to type a short documentation and doing some demo samples. and ive to think about the licence type, of course its an open source project. but if im listening to my stomache, ive to make a bit of money with. but maybe it could work to use an donation system.
im going to include a developer forum on the page which i will offer soon. where you are able to ask for help or/and any tips for your current project. in all cases im trying to support you, if its about coding till graphics, you can ask me anything you want to know.
the current state:
http://www.aries-lenov.com/projekte/webgl/dev/page/LSD.php
stay tuned...
greetz
dirk
Donnerstag, 12. April 2012
i had to start with the webpage... it doesnt make any sense to follow the track like before.
http://www.aries-lenov.com/projekte/webgl/dev/page/LSD.php
stay tuned...
greetz
dirk
http://www.aries-lenov.com/projekte/webgl/dev/page/LSD.php
stay tuned...
greetz
dirk
Mittwoch, 11. April 2012
now i´d implemented the gpu particle system. its highly rough and needs to be improved..
500.000 particles...
http://www.aries-lenov.com/projekte/webgl/dev/LSDX01/LSD.php
the other funky thing is, you are able with my lsd engine to mask the canvas. which allows you to build in stuff which nobody has seen before. example, imagin a natural old school web page, while the visitor is on this page and have no clue about a ontop rendering you can bring lot of pretty nice gimmix in. which can lead your customer exactly there where you want him to be. ;) and thats without using flash, only with L-S-D for the perfect flashback at your customers!
http://www.aries-lenov.com/projekte/webgl/dev/LSDX02/LSD.php
stay tuned...
greetz
dirk
500.000 particles...
http://www.aries-lenov.com/projekte/webgl/dev/LSDX01/LSD.php
the other funky thing is, you are able with my lsd engine to mask the canvas. which allows you to build in stuff which nobody has seen before. example, imagin a natural old school web page, while the visitor is on this page and have no clue about a ontop rendering you can bring lot of pretty nice gimmix in. which can lead your customer exactly there where you want him to be. ;) and thats without using flash, only with L-S-D for the perfect flashback at your customers!
http://www.aries-lenov.com/projekte/webgl/dev/LSDX02/LSD.php
stay tuned...
greetz
dirk
Dienstag, 10. April 2012
hot fixes:
-transformation matrices
-object handling
in overall i had to do some parts new. ;) so i had in mind to change the entire object handling. and the mission was successful. ;)
now you are really able to change the translation, scaling and rotation anywhere in your code. ;)
thats the way you should go:
at first you need to call your liked vertex buffer, which can store (planes, any meshes, particles and so on) :
plane = initVERT_buffer();
as next you need to say the model where it should stay, how big it is and giving any rotation if you want to.
planeOBJ = createOBJECT(pos,scale,rot);
if you want to change the transformation you need to say, in this case:
var pos = [0.0,0.0,-10.0];
var rot = [0.0,0.0,0.0];
var scale = [0.0,0.0,0.0];
transform(pos,scale,rot, planeOBJ );
and last but not least, the rendering (this should stay in the draw function or in any related ones, of course you could either write that in the loop function):
render( plane,texture, planeOBJ );
http://www.aries-lenov.com/projekte/webgl/dev/LSDX/LSD01.php
http://www.aries-lenov.com/projekte/webgl/dev/LSDX/LSD.zip
perhaps im going to activate with tomorrow the new gpu particle system...
stay tuned...
greetz
dirk
thats the way you should go:
at first you need to call your liked vertex buffer, which can store (planes, any meshes, particles and so on) :
plane = initVERT_buffer();
as next you need to say the model where it should stay, how big it is and giving any rotation if you want to.
planeOBJ = createOBJECT(pos,scale,rot);
if you want to change the transformation you need to say, in this case:
var pos = [0.0,0.0,-10.0];
var rot = [0.0,0.0,0.0];
var scale = [0.0,0.0,0.0];
transform(pos,scale,rot, planeOBJ );
and last but not least, the rendering (this should stay in the draw function or in any related ones, of course you could either write that in the loop function):
render( plane,texture, planeOBJ );
http://www.aries-lenov.com/projekte/webgl/dev/LSDX/LSD01.php
http://www.aries-lenov.com/projekte/webgl/dev/LSDX/LSD.zip
perhaps im going to activate with tomorrow the new gpu particle system...
stay tuned...
greetz
dirk
Montag, 9. April 2012
:) so the rudimentary normalmapping is done (objectspace)
maybe, depends on the time and my motivation, im doing the normalsmoothing tomorrow. its quite S like simple. ;)
http://www.aries-lenov.com/projekte/webgl/dev/LSD/LSD.php
stay tuned...
greetz
dirk
maybe, depends on the time and my motivation, im doing the normalsmoothing tomorrow. its quite S like simple. ;)
http://www.aries-lenov.com/projekte/webgl/dev/LSD/LSD.php
stay tuned...
greetz
dirk
one thing i want to do before im getting back to the onscreen rendering -> a nice normalsmoothing. that feels quite nice to do, it challenges the brain a bit. ;) and its not that hard, i think.
so i do plan to implement to ways how to get the normals, on one hand via the exported mesh and on the other hand a generated procedere one.
greetz
dirk
so i do plan to implement to ways how to get the normals, on one hand via the exported mesh and on the other hand a generated procedere one.
greetz
dirk
i got some horrible bugs in the maya python modul. so, till i have found a workaround the 3d export processing got less of priority. of course i could using a existing format like fbx or obj to read in. but really i want my own format running. ;)
in the near future i will set the focus on the onscreen2D rendering.
-> updates:
-render pipeline
-> the current rendertree looks like this:
[init vertex buffers]
|
[setting matrix transformations]
|
[draw call to GPU]
-> the graphicspipeline:
[drawing the world]
|
[onscreen2D]< [world rtt]>[world3D]
i had to change the pipeline i want highly flexible graphics pipeline for this engine, so everything gets rendered onto a texture. which allows you the set the render resolution you need and stuff.
example:
so here you are able to set the resolution for you textures.
webGLStart() -> LSD01.php
///////////////////////////////////
//init render to texture buffer
///////////////////////////////////
for(idRTT=0;idRTT<rttCNT;idRTT++){
initTF_buffer(idRTT,1024,1024);
}
world3D_ID = rttCNT+1;
worldONSCREEN_ID = rttCNT+2;
initTF_buffer(worldONSCREEN_ID,1024,1024);//onscreen
initTF_buffer(world3D_ID,1024,1024);//3D
initTF_buffer(worldID,1024,1024);//world
setRTT_info();
stay tuned...
greetz
dirk
-render pipeline
-> the current rendertree looks like this:
[init vertex buffers]
|
[setting matrix transformations]
|
[draw call to GPU]
-> the graphicspipeline:
[drawing the world]
|
[onscreen2D]< [world rtt]>[world3D]
i had to change the pipeline i want highly flexible graphics pipeline for this engine, so everything gets rendered onto a texture. which allows you the set the render resolution you need and stuff.
example:
so here you are able to set the resolution for you textures.
webGLStart() -> LSD01.php
///////////////////////////////////
//init render to texture buffer
///////////////////////////////////
for(idRTT=0;idRTT<rttCNT;idRTT++){
initTF_buffer(idRTT,1024,1024);
}
world3D_ID = rttCNT+1;
worldONSCREEN_ID = rttCNT+2;
initTF_buffer(worldONSCREEN_ID,1024,1024);//onscreen
initTF_buffer(world3D_ID,1024,1024);//3D
initTF_buffer(worldID,1024,1024);//world
setRTT_info();
stay tuned...
greetz
dirk
Sonntag, 8. April 2012
update:
- sound implementation
- particle system
Particle System:
at first you need to initialize the particle system on this way:
in the function webGLStart() -> LSD01.php:
var particleID = 0;
var particleCOUNT = 2500;
var emitterPOS = [0.0,-1.5,-50.0];
initPARTICLES( particleID , particleCOUNT ,emitterPOS);
in case you want more than just one system in your project:
initPARTICLES( 1, particleCOUNT ,emitterPOS);
initPARTICLES( 2, particleCOUNT ,emitterPOS);
initPARTICLES( 3, particleCOUNT ,emitterPOS);
initPARTICLES( 4, particleCOUNT ,emitterPOS);
initPARTICLES( 5, particleCOUNT ,emitterPOS);
...
afterwards you need to update it. i would suggest if you going to do this in the loop function, either you could use the world function or any function which is related to the loop function.
var particleID = 0;
var is_selfCOLLIDING = 0;
updatePARTICLES( particleID , is_selfCOLLIDING );
if you had init more than just one system. the similar point fits, you need to say which system id needs to be updated. like:
updatePARTICLES( 1, is_selfCOLLIDING );
updatePARTICLES( 2, is_selfCOLLIDING );
updatePARTICLES( 3, is_selfCOLLIDING );
updatePARTICLES( 4, is_selfCOLLIDING );
updatePARTICLES( 5, is_selfCOLLIDING );
...
calling the SOUND:
in the function world():
var audio = loadSOUND('http://www.aries-lenov.com//projekte/webgl/dev/audio/bckgrnd.mp3');
soundPLAY(audio);
the variable audio stores the audio buffer which is created at loadSOUND. at soundPLAY you going to say which buffer should be executed.
as you know the engine is still highly in a experimental phase. so its not recommented for doing any projects with.
stay tuned...
greetz
dirk
- sound implementation
- particle system
Particle System:
at first you need to initialize the particle system on this way:
in the function webGLStart() -> LSD01.php:
var particleID = 0;
var particleCOUNT = 2500;
var emitterPOS = [0.0,-1.5,-50.0];
initPARTICLES( particleID , particleCOUNT ,emitterPOS);
in case you want more than just one system in your project:
initPARTICLES( 1, particleCOUNT ,emitterPOS);
initPARTICLES( 2, particleCOUNT ,emitterPOS);
initPARTICLES( 3, particleCOUNT ,emitterPOS);
initPARTICLES( 4, particleCOUNT ,emitterPOS);
initPARTICLES( 5, particleCOUNT ,emitterPOS);
...
afterwards you need to update it. i would suggest if you going to do this in the loop function, either you could use the world function or any function which is related to the loop function.
var particleID = 0;
var is_selfCOLLIDING = 0;
updatePARTICLES( particleID , is_selfCOLLIDING );
if you had init more than just one system. the similar point fits, you need to say which system id needs to be updated. like:
updatePARTICLES( 1, is_selfCOLLIDING );
updatePARTICLES( 2, is_selfCOLLIDING );
updatePARTICLES( 3, is_selfCOLLIDING );
updatePARTICLES( 4, is_selfCOLLIDING );
updatePARTICLES( 5, is_selfCOLLIDING );
...
calling the SOUND:
in the function world():
var audio = loadSOUND('http://www.aries-lenov.com//projekte/webgl/dev/audio/bckgrnd.mp3');
soundPLAY(audio);
the variable audio stores the audio buffer which is created at loadSOUND. at soundPLAY you going to say which buffer should be executed.
as you know the engine is still highly in a experimental phase. so its not recommented for doing any projects with.
stay tuned...
greetz
dirk
Freitag, 6. April 2012
oops, currently i recognize a quite strange bug in my exporter. im going to fix this tomorrow.
here you can watch a exported model (its highly reduced):
http://www.aries-lenov.com/projekte/webgl/dev/LSD/LSD01.php
here you can watch a exported model (its highly reduced):
http://www.aries-lenov.com/projekte/webgl/dev/LSD/LSD01.php
ok here the maya TENTACLE toolset:
http://www.aries-lenov.com/projekte/webgl/dev/LSD/toolset/tentacleTOOLS.py
http://www.aries-lenov.com/projekte/webgl/dev/LSD/toolset/tentacleTOOLS.py
new features:
- 3d model importer based on my 3D format owd (open web direct) . to export your modell you would be in need of the newest tentacle tools version for maya. (im going to post the link soon)
some technical facts to owd:
- vertex export
- uvs export
some features wich will be in in the near furture:
- normals
- animation
- material
- sound informations
- trigger
- physic basic informations
- 3d model importer based on my 3D format owd (open web direct) . to export your modell you would be in need of the newest tentacle tools version for maya. (im going to post the link soon)
some technical facts to owd:
- vertex export
- uvs export
some features wich will be in in the near furture:
- normals
- animation
- material
- sound informations
- trigger
- physic basic informations
Donnerstag, 5. April 2012
some hot fixes:
-rttMANAGER
-matTRANSFORMATIONS
in the last version, you had to pass the entire information through createPLANE line:
is2D = 1;
shader = 0;
texture = anyTEXTURE;
scale = [1,1,1];
pos = [0.0,0.0,0.0];
rot = [0,0,0];
createPLANE(false,false,"0",0,1,pos,scale,rot,texture0,alpha,color);
now splitted this piece up.
now you have to call a model on this way, which gives you more flexibility if you just want to change the position, rotation, scaling anywhere in your code:
var obj0 = createPLANE(pos,scale,rot);
var newPOS = [.5,0,0];
var newSCALE = [.5, .5 , .5 ];
var newROTATION = [30,60,55];
obj0 = transform( newPOS, newSCALE , newROTATION);
obj0 = render(texture,"0",0,1);
http://www.aries-lenov.com/projekte/webgl/dev/LSD/LSD.zip
stay tuned...
greetz
dirk
oops here the engine in action. i know it a bit boring... :D the cool things will be added soon!
http://www.aries-lenov.com/projekte/webgl/dev/LSD/LSD.php
-rttMANAGER
-matTRANSFORMATIONS
in the last version, you had to pass the entire information through createPLANE line:
is2D = 1;
shader = 0;
texture = anyTEXTURE;
scale = [1,1,1];
pos = [0.0,0.0,0.0];
rot = [0,0,0];
createPLANE(false,false,"0",0,1,pos,scale,rot,texture0,alpha,color);
now splitted this piece up.
now you have to call a model on this way, which gives you more flexibility if you just want to change the position, rotation, scaling anywhere in your code:
var obj0 = createPLANE(pos,scale,rot);
var newPOS = [.5,0,0];
var newSCALE = [.5, .5 , .5 ];
var newROTATION = [30,60,55];
obj0 = transform( newPOS, newSCALE , newROTATION);
obj0 = render(texture,"0",0,1);
http://www.aries-lenov.com/projekte/webgl/dev/LSD/LSD.zip
stay tuned...
greetz
dirk
oops here the engine in action. i know it a bit boring... :D the cool things will be added soon!
http://www.aries-lenov.com/projekte/webgl/dev/LSD/LSD.php
Mittwoch, 4. April 2012
do you feel the same like me, the illusion of reality pass by, by valued time - is it late or early, whats up and down? check out the rabbit hole and take the trip to a new world. nothing will be like before. you can be huge as you like, you can be what ever you want to be. follow the rabbit with LSD
Abonnieren
Posts (Atom)