How can we use NVidia's path rendering extension ?
I know the extension is not supported by OpenTK at this point of time.
If anyone knows how to do this, that would be great.
This is a fairly new extension. (Aug 2011)
Posted Wednesday, 16 November, 2011 - 23:16 by the Fiddler
I cannot find the instructions I've written on this topic, but the gist is this:
Run Convert.exe -p:gl -v:4.2 -t:spec -o:signatures.xml http://opengl.org/registry/api/gl.spec
Copy the generated signatures.xml to opentk/Source/Bind/Specifications/GL2/signatures.xml
Run Bind.exe
Recompile OpenTK
The first command will download the latest specs and convert them to xml, and the third command will read this xml file and generate the new bindings.
This is a slight chance that the latest gl.spec introduces a construct (or bug) that confuses Convert.exe. If this happens, please file a bug report and I will take a look.
Posted Thursday, 17 November, 2011 - 15:22 by OpenTK9
Thank you Fiddler!
Yes! looks like there is a bug. It isn't generating any xml.....actually Converter.exe is crashing...
I looked at the latest gl.spec which didn't have NV_path_rendering (what I am looking for)....
Any thoughts on this ?
Posted Friday, 18 November, 2011 - 22:02 by the Fiddler
You are right, Nvidia hasn't published the extension yet. Unless they do, there's no way to update the bindings automatically. If there is a pressing need, you can add the necessary functions in Bind/Specifications/GL2/gloverrides.xml by hand, and run Bind.exe (without parameters).
Also very interested in path rendering API. Converter.exe working w/ latest specs but Bind.exe failing (below). Any chance of a quick fix into the trunk?
Regards,
Bunter
---
[Warning] Reference Version40 not found for token DoubleMat2x3 = ((int)Version40.DoubleMat2x3).
[Warning] Reference Version40 not found for token DoubleMat2x4 = ((int)Version40.DoubleMat2x4).
[Warning] Reference Version40 not found for token DoubleMat3x2 = ((int)Version40.DoubleMat3x2).
[Warning] Reference Version40 not found for token DoubleMat3x4 = ((int)Version40.DoubleMat3x4).
[Warning] Reference Version40 not found for token DoubleMat4x2 = ((int)Version40.DoubleMat4x2).
[Warning] Reference Version40 not found for token DoubleMat4x3 = ((int)Version40.DoubleMat4x3).
[Warning] Reference Version40 not found for token SamplerCubeMapArray = ((int)Version40.SamplerCubeMapArray).
[Warning] Reference Version40 not found for token SamplerCubeMapArrayShadow = ((int)Version40.SamplerCubeMapArrayShadow).
[Warning] Reference Version40 not found for token IntSamplerCubeMapArray = ((int)Version40.IntSamplerCubeMapArray).
[Warning] Reference Version40 not found for token UnsignedIntSamplerCubeMapArray = ((int)Version40.UnsignedIntSamplerCubeMapArray).
Unhandled Exception: System.InvalidOperationException: Enum specification contains cycle
at Bind.Structures.Constant.TranslateConstantWithReference(Constant c, EnumCollection enums, EnumCollection auxEnums) in C:\dev\x\trunk\Source\Bind\Structures\Constant.cs:line 210
at Bind.Structures.Constant.TranslateConstantWithReference(Constant c, EnumCollection enums, EnumCollection auxEnums) in C:\dev\x\trunk\Source\Bind\Structures\Constant.cs:line 219
at Bind.Structures.Constant.TranslateConstantWithReference(Constant c, EnumCollection enums, EnumCollection auxEnums) in C:\dev\x\trunk\Source\Bind\Structures\Constant.cs:line 219
at Bind.Structures.Constant.TranslateConstantWithReference(Constant c, EnumCollection enums, EnumCollection auxEnums) in C:\dev\x\trunk\Source\Bind\Structures\Constant.cs:line 219
at Bind.Structures.Constant.TranslateConstantWithReference(Constant c, EnumCollection enums, EnumCollection auxEnums) in C:\dev\x\trunk\Source\Bind\Structures\Constant.cs:line 219
at Bind.Structures.Constant.TranslateConstantWithReference(Constant c, EnumCollection enums, EnumCollection auxEnums) in C:\dev\x\trunk\Source\Bind\Structures\Constant.cs:line 219
at Bind.Structures.Constant.TranslateConstantWithReference(Constant c, EnumCollection enums, EnumCollection auxEnums) in C:\dev\x\trunk\Source\Bind\Structures\Constant.cs:line 219
at Bind.Structures.Constant.TranslateConstantWithReference(Constant c, EnumCollection enums, EnumCollection auxEnums) in C:\dev\x\trunk\Source\Bind\Structures\Constant.cs:line 219
at Bind.EnumProcessor.<>c__DisplayClass7.b__4(Constant c) in C:\dev\x\trunk\Source\Bind\EnumProcessor.cs:line 317
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at Bind.EnumProcessor.ResolveAliases(Enum e, EnumCollection enums) in C:\dev\x\trunk\Source\Bind\EnumProcessor.cs:line 316
at Bind.EnumProcessor.ProcessConstants(EnumCollection enums, XPathNavigator nav) in C:\dev\x\trunk\Source\Bind\EnumProcessor.cs:line 189
at Bind.EnumProcessor.Process(EnumCollection enums) in C:\dev\x\trunk\Source\Bind\EnumProcessor.cs:line 57
at Bind.GL2.Generator.Process() in C:\dev\x\trunk\Source\Bind\GL2\Generator.cs:line 85
at Bind.MainClass.Main(String[] arguments) in C:\dev\x\trunk\Source\Bind\Main.cs:line 192
Comments
Re: NVidia Path Rendering Extension Support for OPenTK
I cannot find the instructions I've written on this topic, but the gist is this:
Convert.exe -p:gl -v:4.2 -t:spec -o:signatures.xml http://opengl.org/registry/api/gl.specThe first command will download the latest specs and convert them to xml, and the third command will read this xml file and generate the new bindings.
This is a slight chance that the latest gl.spec introduces a construct (or bug) that confuses Convert.exe. If this happens, please file a bug report and I will take a look.
Re: NVidia Path Rendering Extension Support for OPenTK
Thank you Fiddler!
Yes! looks like there is a bug. It isn't generating any xml.....actually Converter.exe is crashing...
I looked at the latest gl.spec which didn't have NV_path_rendering (what I am looking for)....
Any thoughts on this ?
Re: NVidia Path Rendering Extension Support for OPenTK
You are right, Nvidia hasn't published the extension yet. Unless they do, there's no way to update the bindings automatically. If there is a pressing need, you can add the necessary functions in Bind/Specifications/GL2/gloverrides.xml by hand, and run Bind.exe (without parameters).
Re: NVidia Path Rendering Extension Support for OPenTK
Hi,
Does OpenTK supports this extension now ?
Iliak
www.mimicprod.net
www.dungeoneye.net : Open source remake of Eye of the Beholder II
Re: NVidia Path Rendering Extension Support for OPenTK
Also very interested in path rendering API. Converter.exe working w/ latest specs but Bind.exe failing (below). Any chance of a quick fix into the trunk?
Regards,
Bunter
---
[Warning] Reference Version40 not found for token DoubleMat2x3 = ((int)Version40.DoubleMat2x3).
[Warning] Reference Version40 not found for token DoubleMat2x4 = ((int)Version40.DoubleMat2x4).
[Warning] Reference Version40 not found for token DoubleMat3x2 = ((int)Version40.DoubleMat3x2).
[Warning] Reference Version40 not found for token DoubleMat3x4 = ((int)Version40.DoubleMat3x4).
[Warning] Reference Version40 not found for token DoubleMat4x2 = ((int)Version40.DoubleMat4x2).
[Warning] Reference Version40 not found for token DoubleMat4x3 = ((int)Version40.DoubleMat4x3).
[Warning] Reference Version40 not found for token SamplerCubeMapArray = ((int)Version40.SamplerCubeMapArray).
[Warning] Reference Version40 not found for token SamplerCubeMapArrayShadow = ((int)Version40.SamplerCubeMapArrayShadow).
[Warning] Reference Version40 not found for token IntSamplerCubeMapArray = ((int)Version40.IntSamplerCubeMapArray).
[Warning] Reference Version40 not found for token UnsignedIntSamplerCubeMapArray = ((int)Version40.UnsignedIntSamplerCubeMapArray).
Unhandled Exception: System.InvalidOperationException: Enum specification contains cycle
at Bind.Structures.Constant.TranslateConstantWithReference(Constant c, EnumCollection enums, EnumCollection auxEnums) in C:\dev\x\trunk\Source\Bind\Structures\Constant.cs:line 210
at Bind.Structures.Constant.TranslateConstantWithReference(Constant c, EnumCollection enums, EnumCollection auxEnums) in C:\dev\x\trunk\Source\Bind\Structures\Constant.cs:line 219
at Bind.Structures.Constant.TranslateConstantWithReference(Constant c, EnumCollection enums, EnumCollection auxEnums) in C:\dev\x\trunk\Source\Bind\Structures\Constant.cs:line 219
at Bind.Structures.Constant.TranslateConstantWithReference(Constant c, EnumCollection enums, EnumCollection auxEnums) in C:\dev\x\trunk\Source\Bind\Structures\Constant.cs:line 219
at Bind.Structures.Constant.TranslateConstantWithReference(Constant c, EnumCollection enums, EnumCollection auxEnums) in C:\dev\x\trunk\Source\Bind\Structures\Constant.cs:line 219
at Bind.Structures.Constant.TranslateConstantWithReference(Constant c, EnumCollection enums, EnumCollection auxEnums) in C:\dev\x\trunk\Source\Bind\Structures\Constant.cs:line 219
at Bind.Structures.Constant.TranslateConstantWithReference(Constant c, EnumCollection enums, EnumCollection auxEnums) in C:\dev\x\trunk\Source\Bind\Structures\Constant.cs:line 219
at Bind.Structures.Constant.TranslateConstantWithReference(Constant c, EnumCollection enums, EnumCollection auxEnums) in C:\dev\x\trunk\Source\Bind\Structures\Constant.cs:line 219
at Bind.EnumProcessor.<>c__DisplayClass7.b__4(Constant c) in C:\dev\x\trunk\Source\Bind\EnumProcessor.cs:line 317
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at Bind.EnumProcessor.ResolveAliases(Enum e, EnumCollection enums) in C:\dev\x\trunk\Source\Bind\EnumProcessor.cs:line 316
at Bind.EnumProcessor.ProcessConstants(EnumCollection enums, XPathNavigator nav) in C:\dev\x\trunk\Source\Bind\EnumProcessor.cs:line 189
at Bind.EnumProcessor.Process(EnumCollection enums) in C:\dev\x\trunk\Source\Bind\EnumProcessor.cs:line 57
at Bind.GL2.Generator.Process() in C:\dev\x\trunk\Source\Bind\GL2\Generator.cs:line 85
at Bind.MainClass.Main(String[] arguments) in C:\dev\x\trunk\Source\Bind\Main.cs:line 192