pouët.net

Some thoughts on 4k competition rules

category: code [glöplog]
las: I spent quite some time browsing D3DX reference pages, but haven't found anything really interesting. You can probably do some D3DX specific 4k's if you strongly focus on using some crazy D3DX functionality, but there is not much to help you in the long run.

All I have so far used from D3DX in my 4k intros is:
- compiler,
- matrix stack,
- basic mesh generation (cube/sphere/cylinder/torus)

And OpenGL has all this already at hand.
added on the 2012-11-06 12:54:37 by KK KK
i've used the spline interpolation in it before (D3DXVecHermite or whatever) and D3DXFillTexture can be handy too.
added on the 2012-11-06 12:58:51 by Gargaj Gargaj
Yes it runs on Linux. Just saying.
added on the 2012-11-06 16:46:54 by paniq paniq
D3DXCreateEffect (give GPU info on what to do per pixel! absolutely neccesary, but gimme another way to talk to the gpu and i´m all in! :p )
FillTexture (never used, just still in my baseCode, due to lots of experiments)
CreateTexture (post_fx -> HypnoGlow!)
SetSamplerState (obviously not needed, but once you need more than one renderTexture its to be used for sure!)
D3DXCreateFont (obvious!)
DX_Effect->SetVector (DX_Effect being the ascii-shader-code in c-style, SetVector setting some values every frame, only used for music-sync and putting 4klang-time into the shader-code)
D3DXMatrixRotationYawPitchRoll (obviously rotations!, set via SetVector(see above))
SetTexture (used to point some gpu-ram to the screen!)

this is a list of everything(!!!) i ever used from directX (not D3DX) and i think this still shows off what minimal stuff is abused from that megabytes-big-dll!

(i am sorry: Bonzai Bros - Belgian Summer abused the
- basic mesh generation (cube/sphere/cylinder/torus)
aswell ;) )
Code:All I have so far used from D3DX in my 4k intros is: - compiler, - matrix stack, - basic mesh generation (cube/sphere/cylinder/torus) And OpenGL has all this already at hand.


Wrong... OpenGL (3.0 to 4.0) doesn't have any of those things. And it's OpenGL 3 what you need to do anything interesting these days, unless you are going for distorted raymarched cubes (again) or a cube blending intro (again). Which you shouldn't want to...

AFAIK, the only one thing that GL does have that DX doesn't, as discussed earlier, is just the shader compiler. Which is a big deal.
added on the 2012-11-06 18:54:30 by iq iq
Code:All I have so far used from D3DX in my 4k intros is: - compiler, - matrix stack, - basic mesh generation (cube/sphere/cylinder/torus) And OpenGL has all this already at hand.


Wrong... OpenGL (3.0 to 4.0) doesn't have any of those things. And it's OpenGL 3 what you need to do anything interesting these days, unless you are going for distorted raymarched cubes (again) or a cube blending intro (again). Which you shouldn't want to...

AFAIK, the only one thing that GL does have that DX doesn't, as discussed earlier, is just the shader compiler. Which is a big deal.
added on the 2012-11-06 18:54:30 by iq iq
the only advantage in oGL i ever saw is:

-the minimal byte-save of the whole initial-code (lesser calls than with dX, but this seems to have gone away with some "update", atleast to me dX is smaller in minimal-calling than oGL by now!)
-your(iq´s) way of generating noise via shader-code! (theres still no random-number-generation ever invented in HLSL, atleast to my knowledge!

this way you´re absolutely on the correct side ofcoz! but ever tried (you, as a coder!) to see the beauty in 4k-prods that dont have random-numbers? (noise,etc!) ...we are working our asses off to produce good-looking stuff here, while it all could be as easy as just switching to oGL! ;) but we don´t, must have a reason somewhere! ;)
hArDy: are you just trolling or are you really that naive?
Quote:

D3DXCreateEffect
D3DXCreateFont
DX_Effect->SetVector
D3DXMatrixRotationYawPitchRoll

this is a list of everything(!!!) i ever used from directX (not D3DX)


so you're not using D3DX, right...
added on the 2012-11-06 19:52:25 by xTr1m xTr1m
iq: Isn't there any way of enabling OpenGL 4.0 with all the deprecated stuff still working? It didn't look to me as if drivers did any clear cut off of old functionality. Deprecated doesn't exactly mean removed. And even if, you probably can get the same functionality by OGL 2.0 + ARB/EXT extensions.

hArDy: High frequency sin/cos combo works reasonably well. Unless you want predictable results of course... so never base camera paths on it unless you want to make 2 intros in 1 (just compare my and anni's capture of CT4k). ;)
added on the 2012-11-06 20:17:26 by KK KK
KK:
Quote:
The default value for WGL_CONTEXT_PROFILE_MASK_ARB is WGL_CONTEXT_CORE_PROFILE_BIT_ARB. All OpenGL 3.2 implementations are required to implement the core profile, but implementation of the compatibility profile is optional.


i.e.: compat mode (to which the matrix stack belongs) can be there but does not have to.
added on the 2012-11-06 21:13:11 by skomp skomp
KK: deprecated means "obsolete because we fucking said so." Just because its still usable, its obsolete because apparently bigger & newer is better. >_>

added on the 2012-11-06 21:32:21 by mudlord mudlord
iq: did they remove those from glu then?
added on the 2012-11-06 21:34:04 by Gargaj Gargaj
Go with a 4.X compatibility profile and have "everything". The stuff only gets deprecated from the core profile and even if compatibility profile is optional - the big vendors implement it.

Btw. setting up a 4.X compatibility context with "everything" is REALLY difficult *cough* *cough* - if you have a more or less recent machine with more or less recent drivers and pick your standard OpenGL init code... you might want to check GL_VERSION using glGetString.
added on the 2012-11-06 22:29:03 by las las
skomp: Since when 4k coders give a thing to what spec says? Putting executable code into PE header and creating rendering context on oversized edit box isn't exactly what spec says, too. ;)

All that matters is what works and what doesn't. So the question is: is this supported on AMD/NVidia (+optionally Intel)? If yes, then go tesselate some glVertexes, if thats what will give you better 4k.

mudlord: bigger & better + obsolete but works = even bigger & better and still works
added on the 2012-11-06 22:34:06 by KK KK
gargaj, no, but glu only works with GLU is built on top of display lists, which don't exist anymore (core profiles indeed)
added on the 2012-11-07 00:29:44 by iq iq
iq: Unless you use a driver that supports ARB_compatibility. Or use a legacy context with recent shader versions. Saying that OpenGL removed these things seems like intentionally assuming the ARB speaks with one voice, which is, uhm, not reality. And is certainly not relevant in this discussion.
added on the 2012-11-07 02:22:39 by kusma kusma
Where is D3DXCreateTeapot in OpenGL?
added on the 2012-11-07 03:27:02 by T$ T$
its called OGL_DrawPlasmaCube
added on the 2012-11-07 03:38:15 by wysiwtf wysiwtf
oki doki, compatibility profiles to the rescue. i hate them :D
added on the 2012-11-07 12:30:09 by iq iq
Quote:
And still nobody has answered - are there any benefits to using win 8 for demos?

Probably not at the moment. But just like Microsoft chose to make DirectX 10 Vista-only (not that it did them much good), they will likely make DirectX 12 Window 8-only. Or maybe even (the horror!) Metro-only.
added on the 2012-11-07 17:40:13 by Blueberry Blueberry
Yay, finally some good demos on Mac then :)
added on the 2012-11-07 21:53:45 by gloom gloom
Considering the industry murmur about Windows 8, I have a feeling that stuff's gonna get fixed either way.
added on the 2012-11-07 21:56:07 by Gargaj Gargaj
I suspect they've been getting feedback like that for quite a while now, and they've decided to ignore it. If that's the case they're probably planning to push forwards rather than pulling back, and we'll get a much more closed win9.

Then again, market forces will decide it for them. If windows wants to compete with ios + android, fine, but the main selling point of windows is its open access and flexibility. I'm not sure it's attractive at all without that :D
added on the 2012-11-07 23:45:01 by psonice psonice
does that mean we will have to "buy" demos? that's cool actually, i love the idea. we can sell them at $0.01 or for free. but if they are in the market/shop, then perhaps more people will download them, maybe it's a good outreach. i' only nervous about censorship... will they ban demos if they are not interactive or show (dem)obscene content?
added on the 2012-11-08 00:10:29 by iq iq
Quote:
the main selling point of windows is its open access and flexibility
I thought that was Linux?
added on the 2012-11-08 00:11:28 by gloom gloom

login