tag:blogger.com,1999:blog-4338251266540090894.post5850783234176223195..comments2020-10-22T10:38:02.467-07:00Comments on AndreyGL/D3D: Cg 2.1 BetaAndreyhttp://www.blogger.com/profile/16201443526225351421noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-4338251266540090894.post-45366588140747080242008-11-16T22:24:00.000-08:002008-11-16T22:24:00.000-08:00Спасибо за пояснение.Спасибо за пояснение.Andreyhttps://www.blogger.com/profile/16201443526225351421noreply@blogger.comtag:blogger.com,1999:blog-4338251266540090894.post-4198565368005109872008-11-16T12:25:00.000-08:002008-11-16T12:25:00.000-08:00Дело в том, что у компилятора есть две части, fron...Дело в том, что у компилятора есть две части, frontend и backend.<BR/><BR/>frontend грубо говоря переводит Cg код в некое внутреннее представление, набор абстрактных команд обычно (псевдоассемблер).<BR/><BR/>backend берет набор абстрактных команд, и транслирует его в target код. Засчет этого удается достаточно недорого поддерживать много профилей.<BR/><BR/>В случае с компиляцией glsl кода (т.е. когда на входе компилятора glsl код, а на выходе например d3d ассемблер) меняется frontend, но не меняется backend, таким образом glsl можно компилировать в любой из поддерживаемых профилей.<BR/><BR/>В случае с компиляцией в glsl код (профили glslv/f) или с компиляцией в d3d10 меняется backend, но не меняется frontend. Поскольку backend-у приходит программа в виде псевдоассемблера (называется вроде корректно обычно промежуточный код), то он выдает примерно то что выдаетArseny Kapoulkinehttps://www.blogger.com/profile/18310595345818946666noreply@blogger.com