curious about what AGK allows for surfaces (verticescount, trianglescount)

Started by RemiD, February 24, 2018, 23:10:02

Previous topic - Next topic

RemiD

Quote
did a test of 1,002,001 vertices and 2,000,000 triangles.  Rendered at around 72 FPS on my laptop.
that's good ! i keep this in mind...

Qube

On the TGC forums in the AGK section a user called puzzler2018 is having an issue about Rick Nasher posting code that puzzler2018 has written on another site ( namely this one )

Not sure if it's to do with not seeking permission first and / or crediting the original author. Either way, could those involved talk to each other and do some bro hugs and stuff like that :)
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

Rick Nasher

I explained my view and took down right away his Texture Creation function from here for I do not want anybody to have an issue with me or misunderstand. Just thought it was a pretty good example of how to achieve things in AGK.
Perhaps I forgot to mention his name in the discussion I had with RemiD about what's possible in AGK, which would be a neat thing to do, but never meant to pretend this was my own. Was just an example.

I'd think he rather would be proud to see his creation being used, but was a silly assumption.

Guess I'm still stuck in Blitz3d mode where peeps shared code carelessly. Sigh.. :(
_______________________________________
B3D + physics + shaders + X-platform = AGK!
:D ..ALIENBREED *LIVES* (thanks to Qube).. :D
_______________________________________

Qube

QuoteI'd think he rather would be proud to see his creation being used, but was a silly assumption.
Some people are a little over sensitive I guess ::)

QuoteI'd think he rather would be proud to see his creation being used, but was a silly assumption.
You would of thought so. It's not like you were claiming the full source of a game as your own.
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

Rick Nasher

Yup, I even demonstrated to him what nice things could be done with it and he seemed fine with it.
Whenever I release sources of my own using code/help of others I always credit them. Was just posting it as an example without thinking for I think we all can learn from each others code.

TomToad also did some really nice code examples of poorly documented commands, which AGK team added to the official examples and I've asked them to reward him with some badges, like half a year ago or so, but they didn't reply. Perhaps was talking to different departments/channels for when asked RickV directly for some badges of my own for my Steam review/promotions he was pretty generous. Come to think of it, might ask for him via that road.

I don't know what happened, perhaps puzzler2018 had a change of heart. I vaguely recall a sour discussion in another thread between him and others about his skills, which wasn't too kind for he did code some pretty interesting things, but I didn't get into that, was not a thread I followed/interested in(minecraft clone or so).

Anyway, hope he's ok now.
_______________________________________
B3D + physics + shaders + X-platform = AGK!
:D ..ALIENBREED *LIVES* (thanks to Qube).. :D
_______________________________________

GaborD

I couldn't resist, had to test how far we can push AGK polycount wise.
It's all about massaging the bottlenecks in my opinion, the engine can actually handle a lot.
The thing I love about AGK is that it gives the user so much control. We can optimize a lot of things.

Here is a quick bruteforce terrain test, 2 million polies at 1300FPS on a GTX1070. (I took out LOD, to push polycount  >:D )
Polycount fetched with GetPolygonsDrawn(), should be accurate.
This could be quite a bit faster, but I also bruteforced texturing and fillrate with non-LODded 4K textures and per pixel realtime lighting. (really wanted to see how much AGK can handle)




And a small particle test with 130K polies (64K independently spawned and moved particles, two tris each) running at 3600FPS:



Video of it here: https://www.youtube.com/watch?v=tcgi6IZPuws


I think AGK can perform in the top league.

Rick Nasher

Wowzers! Your visuals are great(and I'm a sucker for that).

Also: my lappies GPU just chocked and got green with envy. lol
_______________________________________
B3D + physics + shaders + X-platform = AGK!
:D ..ALIENBREED *LIVES* (thanks to Qube).. :D
_______________________________________

MikeHart

I am preaching this since M.S. closed the doors. The API and the engine of AGK is awesome.

Derron

API and engine: this is like the "modules" in BlitzMax, Monkey (and so Cerberus-X), ...  so if someone with knowledge put in some effort, this is for sure possible with "M.S. languages" too.

And I bet that performance wise there would not be any big difference (maybe here and there but neglectable). Doesn't "mojo" have some shader-capability?
https://github.com/bmx-ng/mky.mod
While surely buggy and non-optimized or lacking "hooks" (read: changing behaviour in different steps of the rendering process) it might still be able to produce the same graphical output than GaborD's AGK samples.


bye
Ron

MikeHart

Of course, it is possible with a lot of languages, not only the BRL ones. My point is... AGK is available. You can use it NOW. And there is more than just a render API.
That is why I made these AGK Tier2 targets for CX. I would be very proud to reach that level with CX one day. But who knows.  :)

Derron

I would prefer Cerberus (if it hadn't have this case-sensitivity ... it's what I dislike at Java - albeit you are most often enforced to use a proper IDE like intelliJ taking care of it already). AGK misses much (basic) OOP I am used to be able to use in BlitzMax (and other languages). Nonetheless I like the new options you give to Cerberus with your new "target" - do not forget that it adds another thing to maintain. So best thing is, if you automated that process, means new versions just need a "createTarget.bat"-call ;-) (eg. Brucey surely has some wrapper-generators taking care of the basic stuff like const-extraction).


Argh, if only Bmx-NG received such an attention ... people like to see good looking screenshots and interpret them as "proof for capability". And this is true: in most "hobbyist" languages the showcase-section exposes a mediocre quality of projects. 1-man-shows etc.
Images like the one GaborD presented are nice "example showcase entries" to promote capability of a language (even if most comes from the shaders).


bye
Ron

GaborD

For me it's all about ease of use and quick iteration.
The only engines I found so far that offer that while also offering full control, good rendertex support and high raw speed are NB (dead), C3D (cancelled) and AGK.
Time is the most important indie-dev currency.

Derron

Yes - this is why we use "game dev languages" - means they already provide a lot of convenience stuff without the "chaperon/clucking" unity/ue/... does.

At the end it means that someone needs to do the tedious work so others could do a "LoadImage(x)" or "SetShader(shader, entrypoint)". The more it hides from the "indie game dev" the better - but it should allow to adjust stuff. BlitzMax modules hide a lot of stuff already - it is just... outdated/aged in many regions (renderpaths, audio, ...) and would need a big overhaul. Chicken egg problem arising: nobody wants to invest time for overhauling so nobody will use the modules as they are not as convenient/feature-rich/... as other products. And as they are free products, nobody get paid for doing things. People should consider gifting some money (of what they earned with their products) to the devs of free products they use - encourages the devs and is good for your soul.

For BlitzMax the problem is, that Brucey has the knowledge to do stuff - but lacks of information on how "modern graphic stuff" is working. Means he needs to read about stuff and then to wrap his brain around these things. Would be better if someone with graphics knowledge would guide/assist him - or even better, someone with knowledge in both worlds is doing stuff. Eg. col did a pretty cool job with unifying the "render 2 texture" functionality into one code base (still there is the SDL support missing ;-)). Maybe he could come up with a shader-solution too?


Sorry for derailing this thread more and more (...hey I am on my way to my 1000th post...).


bye
Ron

MikeHart

Quote from: Derron on May 25, 2018, 09:02:02
Nonetheless I like the new options you give to Cerberus with your new "target" - do not forget that it adds another thing to maintain. So best thing is, if you automated that process, means new versions just need a "createTarget.bat"-call
thanks. Well it is called AGKBuildTarget, but yes... automation is the key here :-) New AGK installed, run the script, point to the AGK installation, voila. Unless TGC decides to alter its file structures, I have nothing to maintain.

col

Off-topic
QuoteMaybe he could come up with a shader-solution too?
I do have a system in place for shaders... getting it working nicely with the Max2D graphics contexts is another thing.
Another factor is what are the intentions of using shaders with Max2D? i.e. What would one expect from having 2D shader support?

AGK is looking pretty awesome :)
https://github.com/davecamp

"When you observe the world through social media, you lose your faith in it."