Scanline 3D rasterizer

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

Scanline 3D rasterizer

Matthew Spencer-2
I've been working on a scanline rasterizer(Flash) for quite a while now, and just wanted to throw out a couple of demos. With the release of Adobes 'molehill' hardware support, software rasterization will be unable to compete. It's been an incredibly fun project and taken quite a while to develop, so might as well show some of the results.

First demo is gonna be pretty slow (Sorry!). Sloppily thrown together back in a early stage of the project when I didn't know much about tangent based normal mapping. The normal mapping is broken, but performance-wise correct. This was mostly a test of MRT and the ability to use frameBuffers as textures. http://mspencer.webs.com/Demo1.swf

Second demo is just a lighted model demo (approximately 106k polygons).

The purpose of this engine was to provide shader support in flash. It currently can generate rendering pipelines on the fly utilizing vertex, fragment, and geometry shaders. I've not written a parser for cg/hlsl/glsl support, so shaders must be written in ABC.

Rendering pipelines may also be generated and exported in advance, resulting in very small filesizes (about 4 KB, not including user written shader code).

I'm not sure I'll continue the project now that molehill is coming, curious to see how in demand full shader support is.

--Matthew Spencer

--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Scanline 3D rasterizer

Franco Ponticelli
Very impressive! Congratulations.

Franco

On Wed, Nov 17, 2010 at 11:58 AM, Matthew Spencer <[hidden email]> wrote:
I've been working on a scanline rasterizer(Flash) for quite a while now, and just wanted to throw out a couple of demos. With the release of Adobes 'molehill' hardware support, software rasterization will be unable to compete. It's been an incredibly fun project and taken quite a while to develop, so might as well show some of the results.

First demo is gonna be pretty slow (Sorry!). Sloppily thrown together back in a early stage of the project when I didn't know much about tangent based normal mapping. The normal mapping is broken, but performance-wise correct. This was mostly a test of MRT and the ability to use frameBuffers as textures. http://mspencer.webs.com/Demo1.swf

Second demo is just a lighted model demo (approximately 106k polygons).

The purpose of this engine was to provide shader support in flash. It currently can generate rendering pipelines on the fly utilizing vertex, fragment, and geometry shaders. I've not written a parser for cg/hlsl/glsl support, so shaders must be written in ABC.

Rendering pipelines may also be generated and exported in advance, resulting in very small filesizes (about 4 KB, not including user written shader code).

I'm not sure I'll continue the project now that molehill is coming, curious to see how in demand full shader support is.

--Matthew Spencer

--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Scanline 3D rasterizer

sledorze
In reply to this post by Matthew Spencer-2
Wow, that's pretty fast!
I can understand how you feel..
anyway, experience remains!
Reply | Threaded
Open this post in threaded view
|

Re: Scanline 3D rasterizer

hhmin
In reply to this post by Matthew Spencer-2
great job.
I hope you can let it be opensource for everyone test.
thank you
Reply | Threaded
Open this post in threaded view
|

Re: Scanline 3D rasterizer

Matthew Spencer-2
Thank you,
     I do plan to release the source code, just not till It's cleaned up a bit. Since the project is about 90% handwritten bytecode, it'll take me a while. Will try to get around to it this week.

--Matthew Spencer

On Tue, Nov 30, 2010 at 6:16 AM, hhmin <[hidden email]> wrote:

great job.
I hope you can let it be opensource for everyone test.
thank you
--
View this message in context: http://haxe.1354130.n2.nabble.com/Scanline-3D-rasterizer-tp5747427p5787743.html
Sent from the Haxe mailing list archive at Nabble.com.

--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Scanline 3D rasterizer

Matthew Spencer-2
Small update,
    I wanted to show an example project with source code showing how the engine is used.


Not very straight forward to use, but I want to allow for a very high level of control. Nothing prevents a GL type API to be written for it.
Still, I'm not completely decided on the way it works now. If anyone sees anything that they would hate about using this engine, let me know.

Also, I've been getting pretty drastic performance differences based on browser/OS. So, if you feel like it post the average vshader/pshader time. Also, let me know if you get lag spikes or other oddities.

Feel free to ask any questions.

Thanks,
    --Matthew Spencer


On Tue, Nov 30, 2010 at 9:45 AM, Matthew Spencer <[hidden email]> wrote:
Thank you,
     I do plan to release the source code, just not till It's cleaned up a bit. Since the project is about 90% handwritten bytecode, it'll take me a while. Will try to get around to it this week.

--Matthew Spencer


On Tue, Nov 30, 2010 at 6:16 AM, hhmin <[hidden email]> wrote:

great job.
I hope you can let it be opensource for everyone test.
thank you
--
View this message in context: http://haxe.1354130.n2.nabble.com/Scanline-3D-rasterizer-tp5747427p5787743.html
Sent from the Haxe mailing list archive at Nabble.com.

--
haXe - an open source web programming language
http://haxe.org



--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Scanline 3D rasterizer

Ali Jaya Meilio Lie
wow!!! it's impressive :D, hmmm... it's run 50 fps, vshader : 6ms, pshader : 2ms on my mac snow leopard

On 3 December 2010 10:30, Matthew Spencer <[hidden email]> wrote:
Small update,
    I wanted to show an example project with source code showing how the engine is used.


Not very straight forward to use, but I want to allow for a very high level of control. Nothing prevents a GL type API to be written for it.
Still, I'm not completely decided on the way it works now. If anyone sees anything that they would hate about using this engine, let me know.

Also, I've been getting pretty drastic performance differences based on browser/OS. So, if you feel like it post the average vshader/pshader time. Also, let me know if you get lag spikes or other oddities.

Feel free to ask any questions.

Thanks,
    --Matthew Spencer


On Tue, Nov 30, 2010 at 9:45 AM, Matthew Spencer <[hidden email]> wrote:
Thank you,
     I do plan to release the source code, just not till It's cleaned up a bit. Since the project is about 90% handwritten bytecode, it'll take me a while. Will try to get around to it this week.

--Matthew Spencer


On Tue, Nov 30, 2010 at 6:16 AM, hhmin <[hidden email]> wrote:

great job.
I hope you can let it be opensource for everyone test.
thank you
--
View this message in context: http://haxe.1354130.n2.nabble.com/Scanline-3D-rasterizer-tp5747427p5787743.html
Sent from the Haxe mailing list archive at Nabble.com.

--
haXe - an open source web programming language
http://haxe.org



--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Scanline 3D rasterizer

Tarwin Stroh-Spijer
40FPS, 6 / 5ms. Vista 64, Chrome, Qaud Core Q6600 @ 2.4Ghz - hope that helps.

Freakin' amazing by the way ! Damn you people and your skills !


Tarwin Stroh-Spijer
_______________________

Touch My Pixel
http://www.touchmypixel.com/
phone: +61 3 8060 5321
_______________________


On Fri, Dec 3, 2010 at 10:38 PM, Ali Jaya Meilio Lie <[hidden email]> wrote:
wow!!! it's impressive :D, hmmm... it's run 50 fps, vshader : 6ms, pshader : 2ms on my mac snow leopard


On 3 December 2010 10:30, Matthew Spencer <[hidden email]> wrote:
Small update,
    I wanted to show an example project with source code showing how the engine is used.


Not very straight forward to use, but I want to allow for a very high level of control. Nothing prevents a GL type API to be written for it.
Still, I'm not completely decided on the way it works now. If anyone sees anything that they would hate about using this engine, let me know.

Also, I've been getting pretty drastic performance differences based on browser/OS. So, if you feel like it post the average vshader/pshader time. Also, let me know if you get lag spikes or other oddities.

Feel free to ask any questions.

Thanks,
    --Matthew Spencer


On Tue, Nov 30, 2010 at 9:45 AM, Matthew Spencer <[hidden email]> wrote:
Thank you,
     I do plan to release the source code, just not till It's cleaned up a bit. Since the project is about 90% handwritten bytecode, it'll take me a while. Will try to get around to it this week.

--Matthew Spencer


On Tue, Nov 30, 2010 at 6:16 AM, hhmin <[hidden email]> wrote:

great job.
I hope you can let it be opensource for everyone test.
thank you
--
View this message in context: http://haxe.1354130.n2.nabble.com/Scanline-3D-rasterizer-tp5747427p5787743.html
Sent from the Haxe mailing list archive at Nabble.com.

--
haXe - an open source web programming language
http://haxe.org



--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Scanline 3D rasterizer

hhmin
wow!,waiting for your great 3d engine update!

2010/12/4 Tarwin Stroh-Spijer <[hidden email]>
40FPS, 6 / 5ms. Vista 64, Chrome, Qaud Core Q6600 @ 2.4Ghz - hope that helps.

Freakin' amazing by the way ! Damn you people and your skills !


Tarwin Stroh-Spijer
_______________________

Touch My Pixel
http://www.touchmypixel.com/
phone: +61 3 8060 5321
_______________________



On Fri, Dec 3, 2010 at 10:38 PM, Ali Jaya Meilio Lie <[hidden email]> wrote:
wow!!! it's impressive :D, hmmm... it's run 50 fps, vshader : 6ms, pshader : 2ms on my mac snow leopard


On 3 December 2010 10:30, Matthew Spencer <[hidden email]> wrote:
Small update,
    I wanted to show an example project with source code showing how the engine is used.


Not very straight forward to use, but I want to allow for a very high level of control. Nothing prevents a GL type API to be written for it.
Still, I'm not completely decided on the way it works now. If anyone sees anything that they would hate about using this engine, let me know.

Also, I've been getting pretty drastic performance differences based on browser/OS. So, if you feel like it post the average vshader/pshader time. Also, let me know if you get lag spikes or other oddities.

Feel free to ask any questions.

Thanks,
    --Matthew Spencer


On Tue, Nov 30, 2010 at 9:45 AM, Matthew Spencer <[hidden email]> wrote:
Thank you,
     I do plan to release the source code, just not till It's cleaned up a bit. Since the project is about 90% handwritten bytecode, it'll take me a while. Will try to get around to it this week.

--Matthew Spencer


On Tue, Nov 30, 2010 at 6:16 AM, hhmin <[hidden email]> wrote:

great job.
I hope you can let it be opensource for everyone test.
thank you
--
View this message in context: http://haxe.1354130.n2.nabble.com/Scanline-3D-rasterizer-tp5747427p5787743.html
Sent from the Haxe mailing list archive at Nabble.com.

--
haXe - an open source web programming language
http://haxe.org



--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org
Reply | Threaded
Open this post in threaded view
|

Re: Scanline 3D rasterizer

sledorze
In reply to this post by Matthew Spencer-2
4 ms Vertex Shader
3 ms Pixel Shader
Sony VPCZ1
Reply | Threaded
Open this post in threaded view
|

Re: Scanline 3D rasterizer

tom rhodes
win 7, q6600
vertex: 5ms
pixel: 4ms

very nice :)

On 4 December 2010 11:42, sledorze <[hidden email]> wrote:

4 ms Vertex Shader
3 ms Pixel Shader
Sony VPCZ1

--
View this message in context: http://haxe.1354130.n2.nabble.com/Scanline-3D-rasterizer-tp5747427p5802740.html
Sent from the Haxe mailing list archive at Nabble.com.

--
haXe - an open source web programming language
http://haxe.org


--
haXe - an open source web programming language
http://haxe.org