Update. Everything is much more simple. It turned out that dds format supports several textures in one file. And CreateDDSTextureFromMemory() do all the job. All we need to do is just create dds with texassemble tool (https://directxtex.codeplex.com/wikipage?title=Texassemble) and supply to texture creation function.
Nevertheless, you could implement this in a shader, just discard the pixels which are not inside the bounding rect of the parent element.
If you have only axis-aligned rectangles you can simply clip them when filling up your vertex buffer.
As I wrote in PS, I have rotating quads. Also quads can have round corners (and maybe holes) so it will be difficult to calculate it analytically. It was my mistake that I wrote about quads. I probably have to write arbitrary geometry.
For non-rectangular regions, you could use a second texture as a mask and do manual blending (so to speak) in the pixel shader. This can of course be combined with the above approach.
This sounds interesting. Can you give more insights please?
Although my question is not 100% game related, I didn't find the better place to put my topic.
I need to create a launcher for our game. This will be online game and I need a way to easily update it. Also launcher itself should be easily updateable. I mostly interested in high level architecture, i.e. how thing works at all. Our game will be cross platform, but for now I'm trying to do it for Windows (Win7). There's very little info in the web, so I don't know what is the "industry standard". I investigated how major launcher/programs work, and here's a quick description:
1. Launching Battle.net launches 2 exes - Battle.net.exe and Agent.exe. I suppose that Battle.net.exe is user interface exe and Agent.exe always runs in background. This Agent.exe can be found in C:\ProgramData\Battle.net\Agent\... folder. But what is this Agent.exe for? Why it's in ProgramData folder? Who starts who - agent starts launcher or other way? What I like about Blizzard's work - I don't have any system dialogs while run a program, like dialog asking to run as administrator.
2. Steam is seems only one process in task manager. When it's time to update, who updates exe? As far as I know the program can't update itself (at least on windows - you can't replace running exe).
I didn't post my shader because I don't want to scare people - stage3d shaders are assembler like code. I double checked it and it seems correct - I even don't have divisions. And the main thing - without antialiasing I don't have artifacts. So MJP's answer is the explanation I searched for. Unfortunatelly, stage3d doesn't allow to setup sampling or anything like that.
@bwhiiting, for render target AA levels are 0, 1, 2, 3, 4.
@baldurk, I have wrong results in fragment shader. For example in vertex shader I have a varing (vi0) and I can see it's value, but in fragment shader I suddenly have vi1 (not vi0) value filled with zeroes only. So I can't step through the code and check intermediate results (and output color actually is wrong too, although on the screen it's ok). But as you say it can be problem with render target - flash internally draws to some texture and internally draws it to back buffer in the end. And I tried to turn on every option.
Upd.: I checked on different machine and I can't see this artifacts, so I assume that this is my hardware's fault.
Hello everyone! Recently I was told that some GPUs (mobile mostly) doesn't keep constants between render calls. They doesn't have constant's memory. So you can't set constants only once and use this all the time. Is that true? Never heard that before.
What is MTV (tv chanel?? 0_o) - I know it's called MTD - Minimum Translational Distance.
Where are your axes look - inside object or from it? If inside - then first retur in GetOverlap is correct, but second should be proj1.Minimum - proj2.Maximum - i.e. negative, or you can negate axis and leave condition as is.