Git Product home page Git Product logo

gametechdev / intel-texture-works-plugin Goto Github PK

View Code? Open in Web Editor NEW
253.0 253.0 39.0 8.76 MB

Intel has extended Photoshop* to take advantage of the latest image compression methods (BCn/DXT) via plugin. The purpose of this plugin is to provide a tool for artists to access superior compression results at optimized compression speeds within Photoshop*.

Home Page: https://software.intel.com/en-us/articles/intel-texture-compression-plugin-for-photoshop

License: Apache License 2.0

C++ 75.45% C 1.40% JavaScript 20.55% R 2.60%

intel-texture-works-plugin's People

Contributors

codergirl42 avatar davebookout-intel avatar jawilli312 avatar sfblackl-intel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

intel-texture-works-plugin's Issues

Can Save but not load BC7 in PS CC 2019

I'm using PS CS 2019.1.3

I've installed the plugin and have successfully created some BC7 DDS files.

Now, the problem comes when I try to open these files. If I go to File -> Open As and select the Intel/DDS format, and then attempt to open the file nothing happens. The file doesn't load, I don't get an error, the file load dialog just goes away.

If I try with BC1 it works fine, so this seems to be an issues with BC7 specifically.

For whatever it's worth, I can't load BC7 files in Gimp with the DDS plugin either, but BC1 works fine there. In Gimp I get a file type not supported error though.

Photoshop CC 2017 not loading alpha layer of dds file with plugin 1.04

Title says it all, when i open a dds file that has a alpha layer, cc 2015 asked me if i wanted to use alpha on dedicated alpha layer, on cc 2017 it doesn't ask anything, just throws the alpha layer away, can't work with the plugin if it does this, need to revert back to Nvidia's plugin, shame cause the NVidia compression algo is obsolete.

Just to be clear, the file has a 1 bit alpha, but textureworks plugin only sees 8 bit alpha's, should be fixed.

I wouldn't mind if the plugin only saves alpha as 8 bit, but it should recognize 1 bit alpha on read, otherwise i'll need to switch plugins on opening files a lot, for now i'll just make new alpha, but it would be cool if the read code could be improved.

Actions do not use presets correctly

Actions and scripts do not use presets correctly and instead seem to fall back on "-last-used-". I'm trying to automate saving a set of 3 textures without having to go through prompts. The order it should save in is:

  1. Color (Preset 1)
  2. Normal (Preset 2)
  3. Normal (Preset 2)

The script listener adds desc31.putString( idpres, """Preset 1/2""" ); but when executed saves using last settings (i.e. Color getting saved as Normal, or vise versa). It might also be worth noting that other UI/Input changes don't get captured, only the preset .

Not sure whether this is a fault within the plugin, feel free to close the issue if Photoshop itself is causing this.

Script Sample
Recorded using the Listener plugin (only the save path and idIntelDDS have been fixed/modified).

var idsave = charIDToTypeID( "save" );
    var desc18 = new ActionDescriptor();
    var idAs = charIDToTypeID( "As  " );
        var desc19 = new ActionDescriptor();
        var idpres = charIDToTypeID( "pres" );
        desc19.putString( idpres, """DDSExport_d""");
    var idIntelDDS = stringIDToTypeID( "Intel® Texture Works Intel® Texture Works" );
    desc18.putObject( idAs, idIntelDDS, desc19 );
    var idIn = charIDToTypeID( "In  " );
    desc18.putPath( idIn, new File( activeDocument.path + "\\DDSExport_d.DDS") );
    var idDocI = charIDToTypeID( "DocI" );
    desc18.putInteger( idDocI, 195 );
    var idCpy = charIDToTypeID( "Cpy " );
    desc18.putBoolean( idCpy, true );
    var idLyrs = charIDToTypeID( "Lyrs" );
    desc18.putBoolean( idLyrs, false );
    var idsaveStage = stringIDToTypeID( "saveStage" );
    var idsaveStageType = stringIDToTypeID( "saveStageType" );
    var idsaveSucceeded = stringIDToTypeID( "saveSucceeded" );
    desc18.putEnumerated( idsaveStage, idsaveStageType, idsaveSucceeded );
executeAction( idsave, desc18, DialogModes.NO );

Alpha Channels

Hey Guys,

I'm doing some modding for Total War: Warhammer... it seems like they've upgraded their dds texture files during their last DLC patch. Someone recommended your plugin and it's worked great for opening and saving DDS files. Here's the problem....

When I open this DDS texture....
http://www.mediafire.com/file/b7kn9v81o4bqey1/wef_wardancers_head_01_diffuse.dds

I get no option on how to handle the alpha channel... and when the file is open, there is NO alpha channel, no transparency... nada... nothing... zilch...

I had thought it must be the texture file... perhaps there is no alpha channel at all... but when I loaded their texture in game, sure enough it's using alpha data... SOOOO.... once opened up in Visual Studio Pro... you can see below that there is an alpha channel layer present.

visual_studio_alpha_present

This leads me to believe that the plugin is having issues handling this texture file... I wish I could comment on what type of file it is... and the likes, but I'm not that advanced :( I just wanted to make you guy's aware that it's not opening up any alpha information, for this type of texture dds.

It's important to note that almost all modders for TW:W are now switching from nvidia's plugin to yours... and they're all having the same problem that I'm currently having... so, any thoughts?

Load Transparency as Alpha Channel by default option

It would be nice to have an option to skip the dialog box asking me to chose if I want to load transparency as alpha channel. It's very annoying to click the tickbox and press ok on each dds if I open a lot of textures at once. The same applies to mipmaps.

pre-build releases

Understanding that the current implementation of the compressor(not the Photoshop plugin) is released as a VS project that we should compile ourselves I would like to know if there are plans to release prebuilt windows binaries. Even of the beta versions.
Thank you.

Vicente

miplevels are clamped to LDR when compressing to BC6H with auto-generate mipmaps

Hi,

It looks like if we compress HDR images to BC6H with auto-generate mipmaps turned on, miplevels other than 0 are clamped to LDR (or somewhat lower intensity value than miplevel 0). Please see the images attached.

We use export settings as below: output format is BC6H, and miplevels are auto-generated.

image2016-2-25 16-32-32

Then if we load compressed BC6H dds and slightly darken miplevels, miplevels other than 0 are clamped to lower intensity.

image2016-2-25 15-44-30

If we manually generate miplevels and compress to BC6H with them (using From Layers setting), the result is just as expected: miplevels are not clamped.
image2016-2-25 16-36-49

Source image file (tif) and output file (dds) are attached below.
test_bake6-pasted__FeMovableUV22SG-pSphere11.zip
test_bake6-pasted__FeMovableUV22SG-pSphere11_encoded.zip

We are using Photoshop CS6 (64bit) and plug-in version is Beta1.

Thanks,
Jun

All textures are currently saved as Unsigned (DXGI_FORMAT_BC*_UNORM)

Hi

First off, thank you so much this tool, it is superb!

Currently all compressed textures are saved out, at least as far as I can tell, as unsigned textures (DXGI_FORMAT_BC*_UNORM). However for things like normal maps it would be good to have an option to save them out as a signed (SNORM) texture as it requires less processing in the pixel shader.

Could this be easily added?

EDIT NB I cant add labels as requested as I am not a contributor

Resized .dds Texture (BCn format) With Alpha Shows Corrupted Edges

Previous discussion with Walbourn @ DirectXTex's Github: microsoft/DirectXTex#35

A particular texture bundled with Fallout 4, when modified through texconv.exe without specifying the -sepalpha argument, shows corrupted edge blending both in Photoshop CS6 with the Texture Works Plugin, as well as Fallout 4 itself.

However, when viewing the .dds texture through Visual Studio or NVidia's Windows Texture Viewer, there is no image corruption to be seen.

Problematic texture in Photoshop: http://i.imgur.com/WsUPHd6.png
Problematic texture as seen in-game: http://i.imgur.com/6eJybxe.png

Original texture, problematic texture & texconv.exe: https://github.com/Microsoft/DirectXTex/files/441368/Tex.zip

Walbourn suspects that there is a bug in the decompression code in ITW, that somehow made it into Fallout 4. Seems plausible if you ask me, seeing how they both show the exact same form of image corruption.

Intel Textureworks-ConvertCubeMap errors when converting layered cubemap to cube cross

Repro:

  1. In photoshop, open a dds cubemap
  2. run File > scripts > Intel Textureworks-ConvertCubeMap
  3. The first panel will place but then this error pops up
Error 8152: The document does not contain a selection
Line: 323
-> nDoc.selection.rotate(angle);

image

System Info

Adobe Photoshop Version: 19.1.0 20180116.r.238 2018/01/16: 1153018  x64
Operating System: Windows 10 64-bit

Plugin will not load in Photoshop CC 2018

I've tried saving plugin in different places in PS file directories but I always get the following error:
intel texture work plugin error
I've tried the file formats folder within the plug-ins directory with same results.

Mark

Update: Guess it doesn't matter now downloaded GIMP 2.0 and its plugins and accomplished what I needed to do. Still would like to know why the plugin works w/CC 2016 but not latest version.

Missing stuff / build impossible

As you can see in a "IntelTextureWorks.vcxproject" have build cmd line:
..\3rdParty\Intel\Tools\ispc -O2 "%(Filename).ispc" -o "$(IntDir)%(Filename).obj" -h "$(ProjectDir)%(Filename)_ispc.h" --arch=x86-64 --target=sse2,sse4,avx,avx2 --opt=fast-math

  1. This project do not contain the folder "..\3rdParty\Intel\Tools". It has the "..\3rdParty\Intel\Source" only. And missing ispc.exe compiler.

Mips do not load as layers when opening a dds cubemap using Photoshop

I am unable to trigger the 'Load Options' dialog to 'Load mip-maps into seperate layers' when opening a 32bppp dds cubemap. The mips are resident in the file. Is there something special that needs to be done when using 'open as' 'Intel Texture Works' to get the mips loading dialog to appear? My goal is to be able to manually edit the mips of the cubemap and resave it.

This behavior seems to only happen with cube map dds files. When opening other dds files with mips the 'Load options' dialog pops right up.
image

Running Photoshop CC 19.1.0 on Windows 10

feedback

Thank you very much for it.
This is very nice and useful tool.
I already have forward this to the Tech Art team so that we can consider it for the actual optimization and for future work.

Incorrect alpha channel when saving as BC7

Hi,

We have a problem when saving BC7 textures that have an alpha channel.

I've managed to create a very simple test case which demonstates the issue (although our actual usage is slightly different).

If an RGBA texture with all zero values in the alpha channel is saved as BC7, the resulting compressed texture may have non zero values in the alpha channel.

My simple test case is a 4x4 linear RGBA 2D texture with (111,111,111,0) in each texel.

When saved as BC7 the resulting texture will have (111,111,111,2) in each texel.

I have attached the texture.

thanks,
Bill.

alpha_test_case.zip

The thumbnail does not work for me

I know people that by the simple fact of using this plugin, I can see the thumbnails of the .DDS files, however that is not my case, you have to do some concrete steps to make this work in windows 10?

Batching

Hi

Would be possible to release a Command line tool for batching ? The idea here is to transform all non DDS textures to DDS when shipping the project. Working with dds during development is kinda annoying and being able to batch all textures would be great!

Nvidia texture tools have something like this but is pretty old and is a pain to use.

Unable to load textures from Fallout 76, except luminance maps.

I've tried with both Photoshop 2020 an old copy of CS6, and although saving newly-created files works fine, I cannot load most FO76 textures except luminance maps.

Could not open "...dds" because Can not load image..

Every file. Except luminance maps, which are fine. Have tried the CC version, the CS6 version, 32- and 64-bit versions of each.
All of the four plugins in both versions of Photoshop give the same error. Windows 10.

Anybody encountered this before?

Cannot save default

Preset save erorr
Can not save C:\Users\VIntel-last-used-.preset
不能存储为"C:\Users\周哈农会没看vn... \Ayane.dds",因为Failed to Create Presets Directory。

Make checkbox 'Flip Y-Axis'

A checkbox 'Flip Y-Axis' in the exporter would be a great addition if you need the texture for OpenGL applications (e.x. three.js).

Any possibility of this being ported for GIMP?

GIMP users would greatly benefit from such a tool with the ability to export into various dds formats (dx10+ dxt1) etc (primarily suggesting this because I do work with the arkham games and many people cannot afford to purchase photoshop so this would be a great alternative) as it's free and open source.

I lack the knowledge to do so myself and have been looking around for something that can do this, but haven't found anything. Thoughts?

Issues with ATI2_3Dc normal maps

Another issue I noticed, this time with normal maps from the game Mass Effect 2 (ATI2_3Dc, another customized format by Bioware, I believe).
In the screenshot below, you can see on the left what the texture looks like with your plugin, and on the right what it should look like.

Testing texture :
MASSEFFECT2.EXE_0x3AF35864.zip

Krita port

Having personally meddled with .dds files during the week I've noticed that they aren't supported in Krita ( at all), the GIMP plugin for them currently loads them up wrong (they look different compared to the Photoshop ones with ITW-plugin) and this one was the only one that did what I wanted.

Would it be possible for this plug-in to be ported to work with Krita (and possibly GIMP too)? I asked the devs at Krita and they said they at least wouldn't mind accepting working plug-in but there isn't enough resources for them to do the implementation right.

Saving option window has been clipped off in non-main monitor

Hi,

I found a problem that if photoshop is opening in secondary monitor, when saving dds texture , the save option window is clipped some part out . It does not display ok cancel preview buttons.
(I used pre-built plugin)
best regards,

Anuwat

Plugin fail to open Hdr Cubemaps

Hello,

I've started looking into your dds photoshop plugin, and it looks to be great: open source, handling recent compression formats (things that some other dds photoshop plugin doesn't have).

The only drawback IMHO is the limitation to Intel CPU platform, but I'm not sure if it can't run on non-Intel CPUs, maybe it can ?

I post an issue here for a DDS file open bug:

I get "Could not place the document 'filename.dds' because of a program error" from photoshop when I try to open DDS uncompressed Hdr cubemaps (both R16G16B16A16F and R11G11B10F formats fail).
DDS file open works for 2D Hdr (at least R16G16B16A16F).
DDS file open works for Cube SDR (at least BC3_UNORM).

I'll try to debug your lastest plugin code (I was hitting other issues to retrieve last ISPC with sourceforge being down)

Thanks

Alpha / Transparency and Import Handling

In the interest of modding games, auto-applying the alpha channel as transparency is a hindrance. Particularly when alpha isn't transparency, such as a diffuse map packed with parallax, or many types of effect textures.

I'd like to request an import settings option, since there are cases where this behavior is desired. (and also to suppress the mipmap question on import too? It's rare as a user that I need to load them.)

[I don't think we can add labels to issues. Yeah, we don't have permissions for that, even after posting an issue.]

Request BC7 for GIMP + Installation instructions

I dont know where exactly to ask for this, but hoping here is the right place.

GIMP (Gnu Image Manipulation Program) only has a third party dds and normal map plugin which does not support newer games DDS files. And I think that development on those old google code projects has ceased long ago.

Skyrim Special Edition and Fallout 4 in particular need BC7, and if you do not own Photoshop, the only option for helping the massive modding community for those games is to use GIMP (I guess there are a few rich members around can afford the software for a hobby, or they are riddled with virus using cracked software ..)

So request that Intel Texture Works can offer BC7 for GIMP ..
https://github.com/GameTechDev/Intel-Texture-Works-Plugin/wiki/BCn-App-Support

And also request Installation Instructions for the same (seems you do not support the Open Source Projects here for installation, but do support Photoshop) ..
https://github.com/GameTechDev/Intel-Texture-Works-Plugin/wiki/Installation

Can't open V8U8 normal maps

I recently discovered your tool, and am liking the alternative to Nvidia's plugin. However, I noticed a few issues with V8U8 normal maps. These are from the game Mass Effect 3, which I believe uses a slightly modified format than the usual DX9 normal map format.

Here is the error popup :

And here is a texture for you to test :
MASSEFFECT3.EXE_0x3D29EDE6.zip
I hope it can be fixed :).

Why should cubemap's alpha forced to white ?

Hi again,
Why do you need to force loaded cubemap's alpha channel to 1.0 (white) ?
Could it be possible to avoid this force ? (maybe a load option)
(cf code "IntelPlugin.cpp"
" //If we are loading a cube map face then force alpha to white
if (loadInfo.isCubeMap && loadInfo.hasAlpha)
dst[ps.formatRecord->planes-1] = ConvertTo16Bit(static_cast(255));
")
Thanks

E.T.A for the Mac support?

I know Mac is not supported right now but is there an ETA for it? Even a roughly estimation could help.
note: How can I add labels to the message?

The plugin doesn't seem to save out the alpha channel in version 1.04

Hello!

I'm using the plugin in our student game project and we might have noticed a problem, but it just might be that we're using the plugin for things it was not intended for.

I devised a texture packing pipeline that is as follows:

1 normal map texture
1 Albedo texture with transparency in the alpha channel.
1 "AOREM"-texture with the Ambient Occlusion map in the alpha channel, the Roughness map in the green channel, an Emissive mask in the red channel and a Metalness mask in the blue channel.

The problem we are having is that the plugin doesn't seem to save out the alpha channel at all, even in the 1.04 release. Thus our textures lack transparency and gets a completely black AO, since our engine is looking for the non-existent alpha channel.

Our deadline is next Wednesday, please help!

Best regards,

Dag Lindwall,
Game Art student at The Game Assembly, Malmö, Sweden

Photoshop 2021 DDS to UNITY - 'save as' - bug in vertical position?

Hello everyone

When I export or save as my dds file, using the Intel plugin, it transforms the image by rotating it vertically. To fix this, I have to rotate it again by -180º and flip horizontally. That's the only way I can use it on Unity 2020.3.24f1 (64-bit version).

Is it a bug?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.