POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 3103|回复: 11
打印 上一主题 下一主题

TXAA 的最新非官方说明

[复制链接]
跳转到指定楼层
1#
发表于 2012-3-22 18:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

Technically I should be able to say something about this now. There will be more official information at some point on the NVIDIA blog.

Prior I had posted some images of the early R&D work towards the next version of FXAA, then went quite as I shifted my focus to finishing up TXAA for Kepler, something I personally feel is a giant leap forward. The core idea of TXAA is to do correct hardware anti-aliasing as close as possible to what is done in the CG film industry and to target aliasing in motion directly.

TXAA is based on hardware multi-sampling, a high quality sample to pixel filter, and temporal super-sampling (which is optional but provides a 2x quality improvement). TXAA supports forward and deferred rendering pipelines.

TXAA is designed for engines which want to extend physically correct linear HDR lighting throughout their engine pipeline. With TXAA, hardware anti-aliasing has perceptually smooth gradients in the cases where traditional MSAA resolve does not. With TXAA, hardware anti-aliasing still works with high-dynamic range input and with the correct color bleeding from the over-exposed areas just like one gets when taking a real photo using a camera.

For many of you, the first response will be to judge TXAA compared to other AA or no-AA filters using still images, and then remark how TXAA does look less aliased, but also looks less sharp. This is the correct response too, because it is physically impossible to remove aliasing, especially temporal aliasing, without resulting in a perceptual reduction of sharpness. Motion however is where the real battle for AA is fought, and where TXAA really starts to shine compared to all prior methods.

For those who have a problem with lack of sharpness compared to no-AA GPU rendering, and judge AA techniques by still image screen shots, I'd suggest pressing the pause button on your Blue-Ray player and take a look at one of the CG film shots in your favorite movie, and then comment on sharpness. If enough of you light up the forums I might be able to do a side project at NVIDIA where we ship a video filter which makes movies look like traditional GPU rendering in games, something so sharp that your eyes will bleed.
http://forum.beyond3d.com/showpost.php?p=1630773&postcount=1239

2#
发表于 2012-3-22 18:46 | 只看该作者
全是E文啊...........
回复 支持 反对

使用道具 举报

3#
发表于 2012-3-22 20:51 | 只看该作者
ms说TXAA实际上是动态中才比较突出,静态图片的话会产生模糊的感觉?
回复 支持 反对

使用道具 举报

4#
发表于 2012-3-23 11:37 | 只看该作者
瞬间采样抗锯齿?和ati r420的随机采样抗锯齿有相似之处吗?好像是tsaa吧
回复 支持 反对

使用道具 举报

5#
发表于 2012-3-23 11:38 | 只看该作者
某大人物跟我说这是边缘检查AA,竟然敢骗我~我找他吵架去~
回复 支持 反对

使用道具 举报

6#
发表于 2012-3-23 11:38 | 只看该作者
0 0 GTX460要是能用就好了
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2012-3-23 11:40 | 只看该作者
mooncocoon 发表于 2012-3-23 11:38
某大人物跟我说这是边缘检查AA,竟然敢骗我~我找他吵架去~

哪个大人物?
回复 支持 反对

使用道具 举报

8#
发表于 2012-3-23 11:42 | 只看该作者
Edison 发表于 2012-3-23 11:40
哪个大人物?

某名字A开头的WW
回复 支持 反对

使用道具 举报

9#
发表于 2012-3-23 13:25 | 只看该作者
大体上说这种方式更接近于 CG 电影的抗锯齿方法,对移动画面画质提升更有效,而静止画面则会显得相比其他 AA 缺少锐度。据他说 CG 的静止帧也会一样缺少锐度,但动画效果比其他 AA 都要好。

末尾喷了一句,说你们要的话说不定他可以写个滤镜把 CG 电影变得跟一般 GPU AA 过一样,锐度高到砍瞎你的双眼。
回复 支持 反对

使用道具 举报

10#
发表于 2012-3-23 13:36 | 只看该作者
本帖最后由 扫帚 于 2012-3-23 13:41 编辑
mooncocoon 发表于 2012-3-23 11:42
某名字A开头的WW

我大概知道是谁了 lol
另外, 这货还真的是边缘检测的, 不过和msaa的算法不一样
回复 支持 反对

使用道具 举报

11#
 楼主| 发表于 2012-3-25 14:24 | 只看该作者
MTLMar 22, 2012 02:50 AM

Excellent and if you play a game like GTA4 they use blur to hide aliasing. GTA4 blur + FXAA its near perfection. So there is nothing wrong with little blurriness. Rockstar understood it years before and GTA4 was a huge success.
Reply
EffigyMar 22, 2012 03:27 AM

Games are meant to be played, movies are only meant to be watched passively.
Losing contrast is a very bad thing in a 3d game where you have to stay oriented and track movement.

I have never 'had my eyes bleed' or had any kind of discomfort when playing a game with MSAA or SSAA, downplaying the importance of contrast, the jab at proper AA solutions and this silly movie analogy do not instill much confidence...

Is it true that TXAA blends frames (and so adds input lag? Because that would make it completely useless for gaming).
Reply
MichaelMar 22, 2012 05:08 AM

How easy is it to implement TXAA into the game for developers? Is it basically based on FXAA 4.0 temporal?
Reply
Draker666Mar 22, 2012 05:34 AM

I'm confused.

TXAA is only possible on the gtx 6XX right?
Reply
DeluMar 22, 2012 06:52 AM

Well as interesting as that all is I get the feeling it will be exclusive to newer gen Nvidia hardware, what means it's nothing for a lot of folks like me with some "old" GTS250 of course, so I'm wondering, does that mean FXAA 4 is dead in the water as TXAA has more buzz potential in regards to hardware sales? It would be a shame if Nvidia let's it die as what you have done with FXAA3 is already a huge deal in nowadays gaming world and your improvements looked very promising.

I'm happy that today we at least finally got on a driver lvl based FXAA3, even tho it was a lame move of Nvidia how they at least for now spinned it as temporarily only for the new card "At a later date, this feature will be made available to all GeForce 8-series and later users" (a simple inf mod does the trick and makes the driver useable for older gen cards, but still, rather annoying move.)

It works quite well and looks very nice, thx again for FXAA3!
Reply
UnknownMar 22, 2012 10:16 AM

Sounds good - I like the principled approach! Can't wait to hear more details (presumably forthcoming?).

- AndrewL
Reply
Timothy LottesMar 22, 2012 12:29 PM

Effigy, TXAA does have an option to increase quality by using data from the prior frame (temporal option), but this has no effect on latency or input lag. TXAA enhances your ability to track objects in motion, because TXAA reduces the changes your eye will see as things on the screen move between pixels.
Reply
Timothy LottesMar 22, 2012 12:35 PM

Michael, TXAA is not FXAA 4.0. TXAA uses hardware multi-sampling before the samples are resolved, and FXAA 4.0 was a post process. TXAA integration for a title which already uses MSAA will be a change of the MSAA resolve (for forward shaded, something different for deferred shading), and for the high quality temporal option, a modification to vertex shader projection step to draw frames with a sub-pixel shift.
Reply
Timothy LottesMar 22, 2012 12:46 PM

Draker666, TXAA build specially for GTX 6xx is what I'm finishing up right now. I would suggest sending requests for other versions of TXAA through the standard channels at NVIDIA (specifically through NVIDIA devrel or NVIDIA marketing) as I don't have any influence there.
Reply
Replies

    KKRTMar 23, 2012 01:28 PM

    So You basically are saying that its technique similar to SMAA [just using normal hardware MSAA + post process techniques] and can be done on other cards, but for now its exclusive to Kepler?
    Timothy LottesMar 23, 2012 03:59 PM

    KKRT, TXAA and SMAA are completely different. TXAA and FXAA are completely different. TXAA has no MLAA component.
    KKRTMar 24, 2012 03:45 AM

    So it doesnt have any postAA edge smoothing component? Interesting.
    Still, is TXAA possible on other cards then Kepler? Or does it need some dedicated hardware to work, that for this moment is only included in Kepler cars?

    Looking forward to official Nvidia blog post :)
    Timothy LottesMar 24, 2012 02:06 PM

    I cannot answer all your questions yet. Right, TXAA is not a post process, there is no post edge smoothing like FXAA.
    Reply

WANTEDMar 22, 2012 01:18 PM

do you think that TXAA can be build for older cards like 200 400 and 500 series and is FXAA 4.0 going to be released for the upcoming drivers....OR the project is DEad?
Reply
theb1rdMar 22, 2012 01:43 PM

Will the temporal option result in ghosting?
Reply
theb1rdMar 22, 2012 02:28 PM

(Or must it be supplied with a motion buffer via a specialized API?)
Reply
DavidonabusMar 22, 2012 02:40 PM

Can we get a movie demonstrating TXAA, please?
Reply
MrPapillonMar 22, 2012 03:05 PM

Technically that is supposed to be better but for me it is like the 200Hz TV for movies: I think that each media has its own requirements and while 200Hz would be awesome for games, for movies it destroys the distance between the movie and the reality. In recent action films since Gladiator, the action scenes decrease their framerate to increase the "movie" feeling.
In some old X-Files episodes, the fillrate is increased for a short period to make the spectator feel uncomfortable.
I would say that this is more than just changing the "habit" we had or the "you need more info for more dexterity".
However there is still a lack of answers and every anti-aliasing method is welcome. Mainstream games are also becoming much less interactive so it keeps a great potential anyway.
Reply
Timothy LottesMar 22, 2012 06:05 PM

Re FXAA 4.0, I don't have an ETA right now.
Reply
Timothy LottesMar 22, 2012 06:07 PM

Theb1rd: motion buffer via API for temporal component. No ghosting.
Reply
Timothy LottesMar 22, 2012 06:14 PM

Davidonabus, a pixel perfect movie will be posted when I get time to do the official NVIDIA blog/dev site page.
Reply
MichaelMar 23, 2012 04:22 AM

No ETA but can you tell at least if FXAA4 comes in 1H 2012 or 2H 2012?
Reply
SwartzMar 23, 2012 06:26 PM

Will there be support for non-industry people looking to integrate TXAA into their own open source game engines or is that not going to happen?
Reply
Replies

    Timothy LottesMar 24, 2012 02:08 PM

    You should have the same access to TXAA as everyone else.
    Reply

DeluMar 24, 2012 04:04 AM

Sell out much? What a shame! :( just saw this on a message board and I feel it sums it up pretty well,..

----------
after months of telling their customers FXAA on a driver lvl wasn't ready and would be released as soon as it's done,... all lies, intentionally delayed it for the new product launch. Lame and totally fucked over their loyal customers.

Even worse is that kind of stuff "you may not officially mix the Geforce GTX 680 GPU with other NVIDIA GPUs at this time. Attempting to install the driver on a system with a different NVIDIA model GPU will result in those drivers being removed." http://forums.nvidia.com/index.php?showtopic=225630

Thumbs down
Which additionally means, Timothy Lottes is a sell out. He conveniently ignored questions on the matter.

On Nvidias Forums Nvidia was slightly more straight forward:

Posted 22 March 2012 - 09:48 PM

View PostInfinity7, on 22 March 2012 - 02:11 PM, said:
Marketing, marketing, marketing, marketing and.......wait for it........marketing. :w00twave:

Posted 22 March 2012 - 09:48 PM
Josh@NVIDIA

pfft

http://forums.nvidia.com/index.php?s...post&p=1386494

Even worse is that apparently while Lottes was working on his FXAA4 version ideas came up (the temporal components) that eventually became TXAA, which also is why we haven't heard anything since he last said FXAA4 would be ready around GDC in march. Shame on you Timothy Lottes and Nvidia!

We were lucky FXAA3 made it out before Nvidia saw the potential to milk money out of it. They take the one good thing they had on their hands which gave em lots of credits in the enthusiast/ gaming world and this is what they make of it,... what a shame,...

------------

:(
Reply
ApocalyptioMar 24, 2012 06:49 AM

Well he is paid by Nvidia... he has to do his job and what is asked of him for God's sake!
Reply
DeluMar 24, 2012 09:09 AM

Yeah I get that of course and I do appreciate that he hinted "I would suggest sending requests for other versions of TXAA through the standard channels at NVIDIA (specifically through NVIDIA devrel or NVIDIA marketing) as I don't have any influence there." but if as a result his independent work on FXAA as an open standard and the ideas behind it were compromised by Nvidia's business concerns that's a damn shame at expense of unique developments and developers in the industry and also gamers/ enthusiasts all over the world. If that's more Nvidia's influence they really deserve to take an arrow in the knee.
Reply
Timothy LottesMar 24, 2012 01:53 PM

Delu, if I was on the outside, I'd be pissed too!

First about driver FXAA, anything in the driver is a huge challenge. I wrote the initial DX11 integration of FXAA in the DX11 driver. Then the driver team took over so I could work on other things. What I did not realize at the time is that the validation of driver features can be a big challenge. Driver features need to be validated and the possible validation matrix is hugely N dimensional: GPU x Application x OS x Changelist x MixedWithOtherDriverFeatures x 3D x Multi-monitor x Full-screen x Windowed x etc. For instance, I was sure my initial implementation had worked with 3D and Multi-monitor, but I only tested on one game, and later the driver team had found bugs, and had to fix what I didn't even know was broken, or what could have been working but got broken by some other change-list. Now add to this the mix of having a new product launch across desktop and notebook, and needing to insure everything works in all cases, and keep in mind changes for new product can break old products.

It is not always as simple as it seems. For example a feature might not make it in for some class of GPUs even if it seems to work in a beta driver in most cases, simply because of one problem case that NVIDIA does not have time to fix or validate was fixed. Conversely NVIDIA might silently ignore that people find out how to re-enable a feature that is not validated or perhaps in beta, because at that point the user already understands they are enabling something that they can use at their own risk.

My suggestion here with what you want from NVIDIA and the NVIDIA driver, now and in the future, regardless of true cause, is to get yourself and others in mass and ask for it through the proper channels (not through me), but ask for it honestly and don't distract the reader (ie NVIDIA) with what you think might be the cause of why you don't have what you want. NVIDIA already knows why you don't have what you want. Understand that there are lots of people in NVIDIA who want to give you what you want, but need to provide others in NVIDIA the right motivation to get the priority to do it. For example, everyone who is good at their job here at NVIDIA is time limited, there is not enough time in the day to do everything. Or perhaps those who decide the marketing plan underestimated the desire for one feature over another feature. Help NVIDIA understand what they need to do to provide you a better product, and as important, make them want to help you.
Reply
Timothy LottesMar 24, 2012 01:54 PM

As for "you may not officially mix the Geforce GTX 680 GPU with other NVIDIA GPUs at this time", I don't know, but I'd bet that this might have to do with driver validation, and wanting to get the GPU in your hands before everything is 100% done software side. Again keep in mind of being time limited, everything software related is always being constantly improved even after the hardware is finished, and NVIDIA attempts to get the most important stuff done first.

As for "He [me] conveniently ignored questions on the matter", understand that nothing here is convenient for me. This blog needs to ride the fine line between what I can and can not talk about as an employee of a company, and honestly I probably cross the line too often and only get away with it because I still provide some value to my employer. This post for instance is probably crossing that line ;)

As for "Timothy Lottes is a sell out", I'm interested in one thing, making awesome stuff. I do the best I can given what options I have. If I was purely interested in making money, I would not be at NVIDIA, there are many other things I could do and make more money. What NVIDIA does provide is a lot of freedom, ability to take risks, and the ability to do what I enjoy. Certainly I've got a vested interested in helping NVIDIA do well so that I can continue to have my job, but understand that what I write on this blog is my personal feelings on stuff.

On "FXAA4 would be ready around GDC in march", it would have been, but then I had to do my GDC presentation, GDC demo, finish up TXAA demo, and work on other stuff I cannot talk about. FXAA4 is not done yet, there are some things about FXAA4 that I'm not 100% happy with (especially in comparison with the quality of TXAA), but things which I believe I can improve with more R&D effort which I currently have no time for. I'm not going to release FXAA4 until I think it is good enough, and I'm not easy to please. There are others at NVIDIA after seeing TXAA compared to FXAA4 are no longer fully happy with the FXAA4 quality either, and maybe they want to see how TXAA goes first before FXAA4 could get any more priority.

Another thing is FXAA somehow got misunderstood by a few as a high-end solution for AA instead of what it really is, the fastest possible approximate solution with no-to-bad quality. FXAA's place is improving things when better hardware multi-sampling gets too expensive. There has been a desire from another set of people who wanted something grounded in doing MSAA the correct way, and doing it better than what we currently do now. That is what I attempted to do with TXAA, and ultimately I ended up liking TXAA better than FXAA4, so I devoted my free time 100% TXAA.



回复 支持 反对

使用道具 举报

12#
发表于 2012-3-25 14:31 | 只看该作者
too freaking long, man.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2024-11-23 06:54

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表