Duke4.net Forums: PolymerNG will use Vulkan and D3D12 - Duke4.net Forums

Jump to content

Hide message Show message
Welcome to the Duke4.net Forums!

Register an account now to get access to all board features. After you've registered and logged in, you'll be able to create topics, post replies, send and receive private messages, disable the viewing of ads and more!

  • 9 Pages +
  • 1
  • 2
  • 3
  • 4
  • Last »
  • You cannot start a new topic
  • This topic is locked

PolymerNG will use Vulkan and D3D12

#31

View PostTea Monster, on 17 December 2015 - 03:48 AM, said:

4K textures.... LULWUT?


You laugh, but I promise, some dumbass will make 4k or even 8k textures, and start bitching cause there are nasty hitches. Nowadays when VRAM OOM's, it pages data to main system RAM which causes NASTY hitching.

Be forewarned I have no problems with quarter resing textures in code, or making your material render a nice magenta color if I detect stupid content choices :).

This post has been edited by icecoldduke: 17 December 2015 - 06:59 AM

0

User is offline   Tea Monster 

  • Polymancer

#32

Using a 4K texture in a game is like using a 3 terrabyte hard drive to store the pin to your bank card.

EDIT: Just saw your post - will NG adapt existing textures or can we supply pre-optimised PNG or DDS textures for WYSIWYG?

This post has been edited by Tea Monster: 17 December 2015 - 07:11 AM

0

#33

View PostTea Monster, on 17 December 2015 - 07:07 AM, said:

Using a 4K texture in a game is like using a 3 terrabyte hard drive to store the pin to your bank card.

EDIT: Just saw your post - will NG adapt existing textures or can we supply pre-optimised PNG or DDS textures for WYSIWYG?


I can't promise that textures won't go through some kind of processing pass to make it more optimal for rendering and storage. I would say save your textures as TGA, and let the engine figure out the best compression method for your data.

If you have some specific use case, please let me know.

This post has been edited by icecoldduke: 17 December 2015 - 07:30 AM

0

User is online   Hendricks266 

  • Weaponized Autism

  #34

View Posticecoldduke, on 17 December 2015 - 07:27 AM, said:

I would say save your textures as TGA

Or PNG, as long as your PNG optimizer doesn't mangle the alpha channel of your maps.
0

User is offline   Steveeeie 

#35

View PostHendricks266, on 17 December 2015 - 08:00 AM, said:

Or PNG, as long as your PNG optimizer doesn't mangle the alpha channel of your maps.


TGAs are pretty standard now
0

User is online   Hendricks266 

  • Weaponized Autism

  #36

TGA is 8 years older than PNG. Use whichever one results in smaller on-disk filesize.
0

User is offline   Tea Monster 

  • Polymancer

#37

I remember the original HRP performance issues were based around people trying to run Polymost on their PII with Virge video cards.
0

#38

View PostHendricks266, on 17 December 2015 - 08:31 AM, said:

TGA is 8 years older than PNG. Use whichever one results in smaller on-disk filesize.


TGA saves raw pixel data, which is why the format hasn't been deprecated yet. PNG compressors often trash the pixel data pretty badly, especially for normal maps. I haven't committed to this yet, but I plan on reading in TGA's and saving out a DXT/High Quality JPEG compressed file. If I choose to use the HQ Jpeg method, the image will get converted to DXT formats before getting uploaded to the GPU.

The resulted data you ship out will be small, but your raw assets will take up HD space.

This post has been edited by icecoldduke: 17 December 2015 - 10:09 AM

2

User is offline   Steveeeie 

#39

View Posticecoldduke, on 17 December 2015 - 10:07 AM, said:

I plan on reading in TGA's and saving out a DXT


Pretty sure that's how Unreal Engine handles it.
0

#40

View PostSteveeeie, on 17 December 2015 - 01:37 PM, said:

Pretty sure that's how Unreal Engine handles it.


It's how most engines handle texture import :), but again I haven't finalized that part of the renderer yet. I can say I do not plan on implementing PNG support.

This post has been edited by icecoldduke: 17 December 2015 - 02:05 PM

0

User is offline   Trooper Dan 

  • Duke Plus Developer

#41

View Posticecoldduke, on 17 December 2015 - 02:03 PM, said:

It's how most engines handle texture import :), but again I haven't finalized that part of the renderer yet. I can say I do not plan on implementing PNG support.


Would PNG support be difficult? I get that tga is better, but, pretty much every EDuke32 modification that uses models has PNGs for at least some of the skins (all of the skins in some cases). Often when we get md3 models, the PNG is all we have. We could go back and export all the PNG to TGA format and then edit all of the defs, but of course that would gain nothing and it would be a considerable roadblock.
0

User is offline   Steveeeie 

#42

View PostTrooper Dan, on 17 December 2015 - 02:21 PM, said:

Would PNG support be difficult? I get that tga is better, but, pretty much every EDuke32 modification that uses models has PNGs for at least some of the skins (all of the skins in some cases). Often when we get md3 models, the PNG is all we have. We could go back and export all the PNG to TGA format and then edit all of the defs, but of course that would gain nothing and it would be a considerable roadblock.


Couldn't you create an action with Photoshop to do that?
0

User is online   Hendricks266 

  • Weaponized Autism

  #43

View Posticecoldduke, on 17 December 2015 - 10:07 AM, said:

TGA saves raw pixel data, which is why the format hasn't been deprecated yet. PNG compressors often trash the pixel data pretty badly, especially for normal maps.

View PostTrooper Dan, on 17 December 2015 - 02:21 PM, said:

I get that tga is better,

It isn't:

View PostHendricks266, on 17 December 2015 - 08:00 AM, said:

Or PNG, as long as your PNG optimizer doesn't mangle the alpha channel of your maps.

The TGA > PNG argument here is essentially "Don't drive a car, you could get in a crash!". PNG is lossless in and of itself, but optimizing programs like to remove invisible information from the alpha channel in the name of saving space. If PNGOUT doesn't already have an option to not do that, I'm sure Ken could be convinced to add one.

View PostSteveeeie, on 17 December 2015 - 03:08 PM, said:

Couldn't you create an action with Photoshop to do that?

I don't see why the engine couldn't support all the file types we do now, even the shitty ones like GIF and JPEG.
2

User is offline   Tea Monster 

  • Polymancer

#44

GIF?????
0

#45

View PostHendricks266, on 17 December 2015 - 03:22 PM, said:

It isn't:
The TGA > PNG argument here is essentially "Don't drive a car, you could get in a crash!". PNG is lossless in and of itself, but optimizing programs like to remove invisible information from the alpha channel in the name of saving space. If PNGOUT doesn't already have an option to not do that, I'm sure Ken could be convinced to add one.
I don't see why the engine couldn't support all the file types we do now, even the shitty ones like GIF and JPEG.


What would be the use case for different image formats? The engine will load the source images(TGA's, or whatever format), and convert them to a different format that's better for the engine. The end user will not see the .tga's or .pngs, only the content creators will. Modders will ship the ".buildimage" files, not the source data.

EDIT:

I will try to add some kind of legacy mode to load different assets, but new mods should use TGA's are the image format.

This post has been edited by icecoldduke: 17 December 2015 - 07:49 PM

0

User is offline   Trooper Dan 

  • Duke Plus Developer

#46

View Posticecoldduke, on 17 December 2015 - 07:22 PM, said:

I will try to add some kind of legacy mode to load different assets, but new mods should use TGA's are the image format.


That would be good. But as for new mods: if you care about file size and/or you are satisfied with the quality of the PNGs you are using and/or you just don't have access to the original TGAs then why not use PNGs for new mods as well?

And to answer Steveeeie's question: yes, of course I would use a photoshop action (or something similar) and then batch the job. That's the only way it would be a manageable amount of work. But consider that people would have to go back and do that for every single modification with models released for the last 10 years or so to make them work, and edit the def files as well, and then re-upload them.
0

#47

View PostTrooper Dan, on 17 December 2015 - 08:55 PM, said:

That would be good. But as for new mods: if you care about file size and/or you are satisfied with the quality of the PNGs you are using and/or you just don't have access to the original TGAs then why not use PNGs for new mods as well?

And to answer Steveeeie's question: yes, of course I would use a photoshop action (or something similar) and then batch the job. That's the only way it would be a manageable amount of work. But consider that people would have to go back and do that for every single modification with models released for the last 10 years or so to make them work, and edit the def files as well, and then re-upload them.


I understand the frustration, and I can understand not wanting to manually convert those assets over. My goal was to force everyone to use the correct pipeline, to mitigate the amount of rendering issues people report because they don't read the documentation :).

I have no problems implementing what your looking for, but it has to come with disclaimer "any artifacts related to source images that are compressed will not be addressed". I just won't have the time to look into these issues; the correct method is to supply the engine with TGA's. I can't promise when I will get over formats working, as this is very low priority for me.

This post has been edited by icecoldduke: 17 December 2015 - 09:32 PM

0

User is offline   Person of Color 

  • Senior Unpaid Intern at Viceland

#48

I don't understand why you'd want to initially start off with DX12 support instead of DX11. This isn't a demanding game and Windows 10 is a shit tier operating system. Even if it wasn't a giant piece of NSA spyware it's unfinished and buggy as hell. I have to deal with so many Windows 10 issues at work it's not even funny. Oftentimes the best solution is to reformat and install 7 and load BlockWindows so GWX won't initialize.

I own an enterprise key, so I can actually turn off the NSA spyware. There is no way I am going to install it before Mankind Divided comes out in August. That OS needs another six months to be stable, at least.

DX12 is limiting your ability to beta best, and our ability to enjoy your renderer.
0

User is online   Micky C 

  • Honored Donor

#49

He did it because DX12 and Vulkan operate in a similar manner, and porting it over will be quite easy when Vulkan is released.

The engine was never intended to actually run on DX12, rather it served as a platform to actually write and test algorithms in the mean time, rather than sitting around twiddling his thumbs waiting for a release.
0

User is offline   Trooper Dan 

  • Duke Plus Developer

#50

View PostPerson of Color, on 17 December 2015 - 11:00 PM, said:

DX12 is limiting your ability to beta best, and our ability to enjoy your renderer.


I don't think he'll have a shortage of beta testers. Plenty of us use Windows 10 despite its issues. Also, if your rant about the state of Polymer was any indication, I am sure that icecoldduke will do just fine without hearing about how much you enjoy an unfinished version of his renderer.
3

User is offline   Spiker 

#51

View PostTea Monster, on 17 December 2015 - 03:49 PM, said:

GIF?????
NO! 8k GIF! Why? Cuz it's 2016 and everything needs to be bigger! and gif cuz too hard to code in con! But wait gif has only 256 colors, oh wellhttps://forums.duke4.net/public/style_emoticons/default/tongue.gif


0

#52

View PostPerson of Color, on 17 December 2015 - 11:00 PM, said:

I don't understand why you'd want to initially start off with DX12 support instead of DX11. This isn't a demanding game and Windows 10 is a shit tier operating system. Even if it wasn't a giant piece of NSA spyware it's unfinished and buggy as hell. I have to deal with so many Windows 10 issues at work it's not even funny. Oftentimes the best solution is to reformat and install 7 and load BlockWindows so GWX won't initialize.

I own an enterprise key, so I can actually turn off the NSA spyware. There is no way I am going to install it before Mankind Divided comes out in August. That OS needs another six months to be stable, at least.

DX12 is limiting your ability to beta best, and our ability to enjoy your renderer.


Direct3D 12 is a means to an end, Vulkan will be the API of choice when it gets released. D3D11 would have been the wrong choice, especially since it's not multi-platform compatible. At the end of the project I will supporting one renderer and that's Vulkan, but until the API gets released, the renderer will require Windows 10.

This post has been edited by icecoldduke: 18 December 2015 - 08:00 AM

0

User is offline   TON 

#53

What is the maximum number of vertices per group in fbx format?

This post has been edited by TON: 18 December 2015 - 12:04 PM

0

User is offline   Tea Monster 

  • Polymancer

#54

There isn't one, apart from practicality. Someone has claimed to have imported a 3.8M tri model of the Enterprise into UDK.

Of course, if you try this on EDuke, your rig will implode into a singularity. TX and icecoldduke will personally visit your house and give you their worst scowls and shake their heads in a disapproving fashion just before you disappear from this Universe for all time.
0

User is offline   TON 

#55

Ok, no more vertices errors like in md3 format :lol:

This post has been edited by TON: 18 December 2015 - 12:31 PM

0

User is online   Mark 

  • Honored Donor

#56

Will the new renderer speed up the framerate of large open maps or is that still on the "Build" side of things?
0

#57

View PostMark., on 18 December 2015 - 05:22 PM, said:

Will the new renderer speed up the framerate of large open maps or is that still on the "Build" side of things?


That is a very broad question. It all depends on what you have in your scene. Overall you will see huge performance gains.
0

User is online   Mark 

  • Honored Donor

#58

Recently I was testing a map for framerate. It had only about 1400 walls and 193 sectors. Not a complicated map by any means. But it was large and loaded with about 700 tree and grass models and a few large Polymer lights. Framerate was 40 or lower. I removed the lights and all models and with such a simple map I would have expected an FPS in the 150-200 range. It was still less than 100. So thats why I was wondering if the Build pipeline is clogged or if the renderer will vastly improve FPS in the large open areas.

This post has been edited by Mark.: 18 December 2015 - 07:26 PM

0

User is offline   Trooper Dan 

  • Duke Plus Developer

#59

View PostMark., on 18 December 2015 - 07:24 PM, said:

So thats why I was wondering if the Build pipeline is clogged or if the renderer will vastly improve FPS in the large open areas.


Theoretically, performance should be a lot better in PolymerNG if you are comparing the same map with equivalent settings across the two renderers. I think the reason icecoldduke didn't want to give you a straight answer is that you could still bring PolymerNG to its knees in open areas depending on the map and effects used. PolymerNG will have some resource intensive effects that the current renderer does not.
0

#60

View PostMark., on 18 December 2015 - 07:24 PM, said:

Recently I was testing a map for framerate. It had only about 1400 walls and 193 sectors. Not a complicated map by any means. But it was large and loaded with about 700 tree and grass models and a few large Polymer lights. Framerate was 40 or lower. I removed the lights and all models and with such a simple map I would have expected an FPS in the 150-200 range. It was still less than 100. So thats why I was wondering if the Build pipeline is clogged or if the renderer will vastly improve FPS in the large open areas.


You will see a lot of performance increases with PolymerNG. The build engine itself is not a major bottleneck, but how the data was presented to the GPU, is what caused the slow downs in Polymer. I don't have a comprehensive content creation guide yet, but here are couple things:

1) Since were using deferred lighting, non shadowed lights are cheap, shadowed lights are expensive. Please keep the number of shadowed lights visible at any one time under 6-8. We can increase this, but there needs to be a good reason to do so.
2) Please keep in mind your polycount, I don't want to see 30,000 poly lamp fixtures :/.
3) Having 100 of the same sprite in the scene is better then having 100 different sprites in the scene.
4) Keep textures at or under 2048x2048.

I can't say how much your gains will be, cause I obviously haven't played and profiled your map. When the renderer gets released you will have to tell me how good your perf gains are :).
0

Share this topic:


  • 9 Pages +
  • 1
  • 2
  • 3
  • 4
  • Last »
  • You cannot start a new topic
  • This topic is locked


All copyrights and trademarks are property of their respective owners. Instead of reading this text, you could be playing Ion Fury! ;) © 2019 Voidpoint, LLC

Enter your sign in name and password


Sign in options