mirror of
https://github.com/scratchfoundation/bgfx.git
synced 2024-11-25 00:58:30 -05:00
Added help for shaderc.
This commit is contained in:
parent
6492a17f82
commit
f71617e1b6
2 changed files with 51 additions and 6 deletions
Binary file not shown.
|
@ -1341,40 +1341,85 @@ const char* baseName(const char* _filePath)
|
|||
// 4.1 410
|
||||
// 4.2 420 11.0 vhdgf 5.0
|
||||
|
||||
void help(const char* _error = NULL)
|
||||
{
|
||||
if (NULL != _error)
|
||||
{
|
||||
fprintf(stderr, "Error:\n%s\n\n", _error);
|
||||
}
|
||||
|
||||
fprintf(stderr
|
||||
, "shaderc, bgfx shader compiler tool\n"
|
||||
"Copyright 2011-2012 Branimir Karadzic. All rights reserved.\n"
|
||||
"License: http://www.opensource.org/licenses/BSD-2-Clause\n\n"
|
||||
);
|
||||
|
||||
fprintf(stderr
|
||||
, "Usage: shaderc -f <in> -o <out> --type <v/f> --platform <platform>\n\n"
|
||||
"Options:\n"
|
||||
"\t-f Input file path.\n"
|
||||
"\t-o Output file path.\n"
|
||||
"\t --bin2c Generate C header file.\n"
|
||||
"\t --depends Generate makefile style depends file.\n"
|
||||
"\t --platform Target platform.\n"
|
||||
"\t android\n"
|
||||
"\t ios\n"
|
||||
"\t linux\n"
|
||||
"\t nacl\n"
|
||||
"\t osx\n"
|
||||
"\t windows\n"
|
||||
"\t --type Shader type (vertex, fragment)\n"
|
||||
"\t --varyingdef Path to varying.def.sc file.\n"
|
||||
"\n"
|
||||
"Options (DX9 and DX11 only):\n"
|
||||
"\n"
|
||||
"\t --disasm Disassemble compiled shader.\n"
|
||||
"\t-p, --profile Shader model (f.e. ps_3_0).\n"
|
||||
"\n"
|
||||
"For additional information, see https://github.com/bkaradzic/bgfx\n"
|
||||
);
|
||||
}
|
||||
|
||||
int main(int _argc, const char* _argv[])
|
||||
{
|
||||
CommandLine cmdLine(_argc, _argv);
|
||||
|
||||
if (cmdLine.hasArg('h', "help") )
|
||||
{
|
||||
help();
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
const char* filePath = cmdLine.findOption('f');
|
||||
if (NULL == filePath)
|
||||
{
|
||||
fprintf(stderr, "Shader file name must be specified.\n");
|
||||
help("Shader file name must be specified.");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
const char* outFilePath = cmdLine.findOption('o');
|
||||
if (NULL == outFilePath)
|
||||
{
|
||||
fprintf(stderr, "Output file name must be specified.\n");
|
||||
help("Output file name must be specified.");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
const char* type = cmdLine.findOption('\0', "type");
|
||||
if (NULL == type)
|
||||
{
|
||||
fprintf(stderr, "Must specify shader type.");
|
||||
help("Must specify shader type.");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
const char* platform = cmdLine.findOption('\0', "platform");
|
||||
if (NULL == platform)
|
||||
{
|
||||
fprintf(stderr, "Must specify platform.\n");
|
||||
help("Must specify platform.");
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
uint32_t hlsl = 2;
|
||||
const char* profile = cmdLine.findOption('p');
|
||||
const char* profile = cmdLine.findOption('p', "profile");
|
||||
if (NULL != profile)
|
||||
{
|
||||
if (0 == strncmp(&profile[1], "s_3", 3) )
|
||||
|
@ -1509,7 +1554,7 @@ int main(int _argc, const char* _argv[])
|
|||
{
|
||||
VaryingMap varyingMap;
|
||||
|
||||
File attribdef("varying.def.sc");
|
||||
File attribdef(cmdLine.findOption("varyingdef", "varying.def.sc") );
|
||||
const char* parse = attribdef.getData();
|
||||
while (NULL != parse
|
||||
&& *parse != '\0')
|
||||
|
|
Loading…
Reference in a new issue