Pages

marți, 20 septembrie 2016

Mandelbrot with three.js .

The Mandelbrot set is the set of complex numbers c for which the function f c ( z ) = z 2 + c . - wikipedia.org

You need to download the three.js - java script from threejs webpage.
The source code is simple. Come with default HTML5 page and javascripts.
One part of this will make vertex-shader and fragment shader, both is 2D shader type.
You need the canvas tag with id="canv".
The last part of source code is make to put all into one image processing by shaders.
You can read this tutorial here.

 <!DOCTYPE html>  
 <html>  
 <head>  
 <meta charset="UTF-8">  
 <title>Title of the document</title>  
 <script src="three.js"></script>  
 </head>  
 <body>  
   
 <canvas id="canv" width="640" height="480"></canvas>  
   
 <script id="2d-vertex-shader" type="x-shader/x-vertex">  
 attribute vec2 a_position;  
  void main() {  
   gl_Position = vec4(a_position, 0, 1);  
  }  
 </script>  
   
 <script id="2d-fragment-shader" type="x-shader/x-fragment">  
  #ifdef GL_FRAGMENT_PRECISION_HIGH  
   precision highp float;  
  #else  
   precision mediump float;  
  #endif  
  #define PI 3.14159  
   
 float hash( float n ) { return fract(sin(n)*753.5453123); }  
   
 #define NUM_STEPS  50  
  #define ZOOM_FACTOR 2.0  
  #define X_OFFSET  0.5  
   
  #ifdef GL_FRAGMENT_PRECISION_HIGH  
   precision highp float;  
  #else  
   precision mediump float;  
  #endif  
  precision mediump int;  
   
  void main() {  
   vec2 z;  
   float x,y;  
   int steps;  
   float normalizedX = (gl_FragCoord.x - 320.0) / 640.0 * ZOOM_FACTOR *  
             (640.0 / 480.0) - X_OFFSET;  
   float normalizedY = (gl_FragCoord.y - 240.0) / 480.0 * ZOOM_FACTOR;  
   
   z.x = normalizedX;  
   z.y = normalizedY;  
   
   for (int i=0;i<NUM_STEPS;i++) {  
   
   steps = i;  
   
     x = (z.x * z.x - z.y * z.y) + normalizedX;  
     y = (z.y * z.x + z.x * z.y) + normalizedY;  
   
     if((x * x + y * y) > 4.0) {  
      break;  
     }  
   
     z.x = x;  
     z.y = y;  
   
   }  
   
   if (steps == NUM_STEPS-1) {  
    gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);  
   } else {  
    gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);  
   }  
  }  
 </script>  
 <script type="text/javascript">  
 var gl;  
 var canvas;  
 var buffer;  
  window.onload = init;  
    
  function init() {  
    
   
   canvas    = document.getElementById('canv');  
   gl      = canvas.getContext('experimental-webgl');  
   canvas.width = 640;  
   canvas.height = 480;  
    
   gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);  
   
 var shaderScript;  
 var shaderSource;  
 var vertexShader;  
 var fragmentShader;  
   
  buffer = gl.createBuffer();  
  gl.bindBuffer(gl.ARRAY_BUFFER, buffer);  
  gl.bufferData(  
   gl.ARRAY_BUFFER,   
   new Float32Array([  
    -1.0, -1.0,   
     1.0, -1.0,   
    -1.0, 1.0,   
    -1.0, 1.0,   
     1.0, -1.0,   
     1.0, 1.0]),   
   gl.STATIC_DRAW  
  );  
   
   render();  
    
  }  
    
 function render() {  
    
   window.requestAnimationFrame(render, canvas);  
    
   gl.clearColor(1.0, 0.0, 0.0, 1.0);  
   gl.clear(gl.COLOR_BUFFER_BIT);  
   
  shaderScript = document.getElementById("2d-vertex-shader");  
  shaderSource = shaderScript.text;  
  vertexShader = gl.createShader(gl.VERTEX_SHADER);  
  gl.shaderSource(vertexShader, shaderSource);  
  gl.compileShader(vertexShader);  
   
  shaderScript  = document.getElementById("2d-fragment-shader");  
  shaderSource  = shaderScript.text;  
  fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);  
  gl.shaderSource(fragmentShader, shaderSource);  
  gl.compileShader(fragmentShader);  
   
  program = gl.createProgram();  
  gl.attachShader(program, vertexShader);  
  gl.attachShader(program, fragmentShader);  
  gl.linkProgram(program);   
  gl.useProgram(program);  
  positionLocation = gl.getAttribLocation(program, "a_position");  
  gl.enableVertexAttribArray(positionLocation);  
  gl.vertexAttribPointer(positionLocation, 2, gl.FLOAT, false, 0, 0);  
   
  gl.drawArrays(gl.TRIANGLES, 0, 6);  
  }  
 </script>  
 </body>  
 </html>   

duminică, 18 septembrie 2016

News about Blender second release candidate and other projects.

The Chairman Blender Foundation and producer Blender Institute, Mr. Ton Roosendaal comw with this news about second release candidate and other projects:
Hi everyone,

Here are notes from today's 14 UTC meeting in irc.freenode.net 
#blendercoders.

1) Blender 2.78 RC2

- Second release candidate is out! 
http://download.blender.org/release/Blender2.78/

- Release logs are also taking shape:
https://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.78
https://www.blender.org/features/2-78/

Based on tracker reporting and further testing we either do a RC3 or 
the actual release this week. Sergey Sharybin and Bastien Montagne are
 monitoring it closely.

2) Other projects and 2.8

- Currently Blender for OSX links to an Apple system library for 
quicktime (qtkit).
This has been deprecated for long, and will be removed from 
XCode 10.12.
We have to decide if we want to drop this, and make Blender for 
OS X use ffmpg for 
all codecs.

- Julian Eisel uploaded custom manipulators patch for review 
https://developer.blender.org/D2232
Code docs
https://wiki.blender.org/index.php?title=User:Julianeisel/Custom_Manipulators

- Mike Erwin is in Amsterdam, with Dalai Felinto and others 
he will do design sessions
on the 2.8 viewport. Expect interesting logs and docs!

Thanks,

-Ton-

joi, 15 septembrie 2016

The 8 bits game and development.

Today I will tell you about the old and new 8 bits game and development.
Even now some people want to recreation of the 1980s personal compute bluetooth - zx spectrum
Most users who use a computer remember the old 8-bit computers or were linked to them.
I will start to present to you some of the most important web pages useful this topic:
ZX_Spectrum - wikipedia
ZX Basic stable version
Speccy - emulator multiplatform Z80 cross-assembler
TommyGun IDE and lots of utilities
TommyGun - source code
TommyGun - wikipedia
Guide to inline assembly using Boriel’s ZX compiler to create zx spectrum code.
I install ZX_Spectrum into my project path C:\Proiecte\8bits\ZX-Basic\.

I create one folder named SpeccyEmulator and I unzip the emulator Speccy.
The TommyGun IDE install C:\Proiecte\8bits\TommyGun.AGD from here.
I start the IDE with a new project.
The old TommyGun come with some errors when to try to reopen project and with more projects.
This is not bad, just you need to start it for each project and make settings each time.
The  TommyGu.AGD is more good but I don't make all the tests. This has just one project AgdGAmeEngine.asm with agd files.
The next step is tab Code - Build Settings - Compilation - I used pasmo.exe .

Under Code - Build Settings - Emulation I set the path to emulator: C:\Proiecte\8bits\SpeccyEmulator\Speccy.exe .

Also you can see the Presets can be edit and save it (Pasmo, Speccy).
NOTE: About ZX settings then under Code you need to load the files from ZX-Basic project.
If you want to use the basic language then you need to set this zxb.exe for .bas type file and the content will be the basic language (ex: C:\Proiecte\8bits\ZX-Basic\examples\clock.bas). The name of this file will need to put into Compilation (ex: clock.bas) and Emulation (ex clock.tzx).

marți, 6 septembrie 2016

The 3D Print - online tool in over 50 materials.

This will help you to have your 3D Print in over 50 materials. 
From plastics to porcelain, silver to sandstone, Shapeways offers a large collection of materials for you to create unique products.
The website tells us about transit Times / Pricing

Option Transit Time (business days) Flat Rate
United States USPS First-Class 1-3 $4.99
UPS Ground 3-5 $6.50
UPS Two Day 2 $9.50
UPS Next Day 1 $15.50
Canada USPS First-Class 2-8 $11.50
UPS Worldwide 1-3 $21.50
Australia, New Zealand USPS First-Class 5-9 $14.99
UPS Worldwide 3-8 $25.99
Germany DHL Europaket 1-2 $6.50
UPS 2-3 $11.50
Netherlands, Belgium, Luxembourg Standard 1-2 $6.50
All other EU countries, Switzerland, Norway, San Marino, Vatican, Andorra, Liechtenstein Standard Varies by country $9.50
All other countries Standard Varies by country $19.99
You can test this online tool here and allow materials here.

marți, 2 august 2016

Anime Studio is now Moho.

Anime Studio is now Moho.

Moho (Anime Studio) Animation Software – Coming Soon!

Moho™, the complete animation solution for professionals and digital artists, is coming soon. Moho is a new name and new version of Anime Studio. Moho delivers advanced animation tools to speed up your workflow with an intuitive new interface, a visual content library and powerful features such as a bone rigging system, Smart Bones™, frame-by-frame animation, and more exciting new features that will be announced at the product launch.
Get a first look at Moho. Webinar August 12th: What’s New in Moho 12 – Register Now! Go to register link, fill up and follow. You can get more infos from this link.

sâmbătă, 2 iulie 2016

Tested: Sheep it Render Farm.

Today I used this render farm named: Sheep it Render Farm and they tells us:

What is a render farm?

A render farm is a group of computers connected together to complete a large task. In the case of 3D rendering, most of the time, a render farm will split frames of an animation to multiple computers, so instead of having a single computer who works for 100 days you can have 100 computers who will work for 1 day.

I tested this render solution and result come with free registration, free project adding and free rendering.
First the CPU and GPU from my laptop are supported.
You can selet only the GPU or CPU or both.
You can render project and will have credits and this is very important.
Why? Because you need to wait if you don't have credits - mode details FAQ.
You can take a look at status.
If you take a look at this status and the all result you can see how fast is working: 3316 frames per hour, time to complete render: 6h52m
I tested with one 250 frames with 60 frames/s Blender 3D file.

You can donate with PayPal, Bitcoin and Dogecoin here.